diff --git a/.github/workflows/Docker.yaml b/.github/workflows/Docker.yaml index 86c80c2c8c4..9055fc47db1 100644 --- a/.github/workflows/Docker.yaml +++ b/.github/workflows/Docker.yaml @@ -26,7 +26,11 @@ jobs: strategy: matrix: rosdistro: [humble] - arch: [amd64, arm64] + arch: [amd64] + # Build test for arm64 CPU is broken. + # This is a temporary solution and will be repaired in the future. + # See also https://github.com/tier4/scenario_simulator_v2/pull/1295 + # arch: [amd64, arm64] steps: - name: Free Disk Space (Ubuntu) uses: jlumbroso/free-disk-space@main diff --git a/.github/workflows/Release.yaml b/.github/workflows/Release.yaml index 49ccac2bb0d..65940236bb1 100644 --- a/.github/workflows/Release.yaml +++ b/.github/workflows/Release.yaml @@ -130,8 +130,13 @@ jobs: name: ${{ steps.new_version.outputs.new_version }} body: ${{ steps.get_release_description.outputs.stdout }} - - name: Delete branch + - name: Delete branch if merged if: github.event.pull_request.merged == true - uses: SvanBoxel/delete-merged-branch@main - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + uses: actions/github-script@v5 + with: + script: | + github.rest.git.deleteRef({ + owner: context.repo.owner, + repo: context.repo.repo, + ref: `heads/${context.payload.pull_request.head.ref}`, + }) diff --git a/common/math/arithmetic/CHANGELOG.rst b/common/math/arithmetic/CHANGELOG.rst index 01c3e49de7b..5f6d6bad47f 100644 --- a/common/math/arithmetic/CHANGELOG.rst +++ b/common/math/arithmetic/CHANGELOG.rst @@ -13,6 +13,83 @@ Changelog for package arithmetic * Merge branch 'master' into refactor/drop_workflow * Contributors: Kotaro Yoshimoto +2.2.2 (2024-06-28) +------------------ + +2.2.1 (2024-06-27) +------------------ +* Merge remote-tracking branch 'origin/master' into fix/issue1276-re +* Contributors: Masaya Kataoka + +2.2.0 (2024-06-24) +------------------ +* Merge branch 'master' into feature/clear_route_api +* Merge remote-tracking branch 'origin/master' into feature/clear_route_api +* Merge branch 'master' into feature/clear_route_api +* Merge branch 'master' into feature/clear_route_api +* Contributors: Masaya Kataoka, Taiga + +2.1.11 (2024-06-24) +------------------- +* Merge branch 'master' of github.com:tier4/scenario_simulator_v2 into feature/unit_tests/miscellaneous +* resolve merge confilct +* resolve merge +* Merge branch 'master' of github.com:tier4/scenario_simulator_v2 into feature/unit_tests/miscellaneous +* remove arithmetic tests +* floating_point comparison +* Contributors: robomic + +2.1.10 (2024-06-24) +------------------- +* Merge branch 'master' of github.com:tier4/scenario_simulator_v2 into feature/unit_tests/misc_object_entity +* Contributors: robomic + +2.1.9 (2024-06-24) +------------------ + +2.1.8 (2024-06-20) +------------------ +* Merge branch 'master' into feature/simple_sensor_simulator_unit_test +* Merge branch 'master' into feature/simple_sensor_simulator_unit_test +* Contributors: Kotaro Yoshimoto, SzymonParapura + +2.1.7 (2024-06-19) +------------------ +* Merge branch 'master' into feature/improve-ros-parameter-handling +* Merge branch 'master' into feature/improve-ros-parameter-handling +* Contributors: Masaya Kataoka, Mateusz Palczuk + +2.1.6 (2024-06-18) +------------------ + +2.1.5 (2024-06-18) +------------------ + +2.1.4 (2024-06-14) +------------------ +* Merge branch 'master' into fix/remove_quaternion_operation +* Merge branch 'master' into fix/remove_quaternion_operation +* Contributors: Masaya Kataoka + +2.1.3 (2024-06-14) +------------------ +* Merge branch 'master' into fix/issue1276 +* Contributors: Masaya Kataoka + +2.1.2 (2024-06-13) +------------------ +* Merge branch 'master' into fix/interpreter/fault-injection-action +* Merge branch 'master' into fix/interpreter/fault-injection-action +* Merge branch 'master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge branch 'master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Contributors: Tatsuya Yamasaki, yamacir-kit + 2.1.1 (2024-06-11) ------------------ * Merge branch 'master' into fix/reorder diff --git a/common/math/arithmetic/package.xml b/common/math/arithmetic/package.xml index e18833712ea..54607ba6aa9 100644 --- a/common/math/arithmetic/package.xml +++ b/common/math/arithmetic/package.xml @@ -2,7 +2,7 @@ arithmetic - 2.1.1 + 2.2.2 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 62db6d0d44f..80294ca6eef 100644 --- a/common/math/geometry/CHANGELOG.rst +++ b/common/math/geometry/CHANGELOG.rst @@ -13,6 +13,89 @@ Changelog for package geometry * Merge branch 'master' into refactor/drop_workflow * Contributors: Kotaro Yoshimoto +2.2.2 (2024-06-28) +------------------ + +2.2.1 (2024-06-27) +------------------ +* Merge remote-tracking branch 'origin/master' into fix/issue1276-re +* Contributors: Masaya Kataoka + +2.2.0 (2024-06-24) +------------------ +* Merge branch 'master' into feature/clear_route_api +* Merge remote-tracking branch 'origin/master' into feature/clear_route_api +* Merge branch 'master' into feature/clear_route_api +* Merge branch 'master' into feature/clear_route_api +* Contributors: Masaya Kataoka, Taiga + +2.1.11 (2024-06-24) +------------------- +* Merge branch 'master' of github.com:tier4/scenario_simulator_v2 into feature/unit_tests/miscellaneous +* resolve merge confilct +* resolve merge +* Merge branch 'master' of github.com:tier4/scenario_simulator_v2 into feature/unit_tests/miscellaneous +* Contributors: robomic + +2.1.10 (2024-06-24) +------------------- +* Merge branch 'master' of github.com:tier4/scenario_simulator_v2 into feature/unit_tests/misc_object_entity +* Contributors: robomic + +2.1.9 (2024-06-24) +------------------ + +2.1.8 (2024-06-20) +------------------ +* Merge branch 'master' into feature/simple_sensor_simulator_unit_test +* Merge branch 'master' into feature/simple_sensor_simulator_unit_test +* Contributors: Kotaro Yoshimoto, SzymonParapura + +2.1.7 (2024-06-19) +------------------ +* Merge branch 'master' into feature/improve-ros-parameter-handling +* Merge branch 'master' into feature/improve-ros-parameter-handling +* Contributors: Masaya Kataoka, Mateusz Palczuk + +2.1.6 (2024-06-18) +------------------ + +2.1.5 (2024-06-18) +------------------ + +2.1.4 (2024-06-14) +------------------ +* Merge pull request `#1281 `_ from tier4/fix/remove_quaternion_operation + Remove quaternion_operation +* Merge branch 'master' into fix/remove_quaternion_operation +* Update common/math/geometry/include/geometry/quaternion/get_rotation.hpp +* fix +* Merge branch 'master' into fix/remove_quaternion_operation +* Remove quaternion_operation +* Contributors: Masaya Kataoka, Taiga Takano + +2.1.3 (2024-06-14) +------------------ +* Merge branch 'master' into fix/issue1276 +* Contributors: Masaya Kataoka + +2.1.2 (2024-06-13) +------------------ +* Merge branch 'master' into fix/interpreter/fault-injection-action +* Merge branch 'master' into fix/interpreter/fault-injection-action +* Merge branch 'master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge branch 'master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Contributors: Tatsuya Yamasaki, yamacir-kit + 2.1.1 (2024-06-11) ------------------ * Merge branch 'master' into fix/reorder diff --git a/common/math/geometry/include/geometry/quaternion/euler_to_quaternion.hpp b/common/math/geometry/include/geometry/quaternion/euler_to_quaternion.hpp new file mode 100644 index 00000000000..5be86f2a714 --- /dev/null +++ b/common/math/geometry/include/geometry/quaternion/euler_to_quaternion.hpp @@ -0,0 +1,46 @@ +// 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 GEOMETRY__QUATERNION__EULER_TO_QUATERNION_HPP_ +#define GEOMETRY__QUATERNION__EULER_TO_QUATERNION_HPP_ + +#include + +#include +#include +#include + +namespace math +{ +namespace geometry +{ +template < + typename T, std::enable_if_t>, std::nullptr_t> = nullptr> +auto convertEulerAngleToQuaternion(const T & v) +{ + const double & roll = v.x; + const double & pitch = v.y; + const double & yaw = v.z; + tf2::Quaternion tf_quat; + tf_quat.setRPY(roll, pitch, yaw); + return geometry_msgs::build() + .x(tf_quat.x()) + .y(tf_quat.y()) + .z(tf_quat.z()) + .w(tf_quat.w()); +} +} // namespace geometry +} // namespace math + +#endif // GEOMETRY__QUATERNION__EULER_TO_QUATERNION_HPP_ diff --git a/common/math/geometry/include/geometry/quaternion/get_rotation.hpp b/common/math/geometry/include/geometry/quaternion/get_rotation.hpp new file mode 100644 index 00000000000..57a89cc863d --- /dev/null +++ b/common/math/geometry/include/geometry/quaternion/get_rotation.hpp @@ -0,0 +1,43 @@ +// 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 GEOMETRY__QUATERNION__GET_ROTATION_HPP_ +#define GEOMETRY__QUATERNION__GET_ROTATION_HPP_ + +#include + +#include +#include +#include + +namespace math +{ +namespace geometry +{ +template < + typename T, typename U, + std::enable_if_t, IsLikeQuaternion>, std::nullptr_t> = + nullptr> +auto getRotation(T from, U to) +{ + // This function gets the conjugate of the quaternion. + from.x *= -1; + from.y *= -1; + from.z *= -1; + return from * to; +} +} // namespace geometry +} // namespace math + +#endif // GEOMETRY__QUATERNION__GET_ROTATION_HPP_ diff --git a/common/math/geometry/include/geometry/quaternion/get_rotation_matrix.hpp b/common/math/geometry/include/geometry/quaternion/get_rotation_matrix.hpp new file mode 100644 index 00000000000..c12b53dd812 --- /dev/null +++ b/common/math/geometry/include/geometry/quaternion/get_rotation_matrix.hpp @@ -0,0 +1,50 @@ +// 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 GEOMETRY__QUATERNION__GET_ROTATION_MATRIX_HPP_ +#define GEOMETRY__QUATERNION__GET_ROTATION_MATRIX_HPP_ + +#include + +#include +#include + +#define EIGEN_MPL2_ONLY +#include +#include + +namespace math +{ +namespace geometry +{ +template < + typename T, std::enable_if_t>, std::nullptr_t> = nullptr> +auto getRotationMatrix(T quat) +{ + auto x = quat.x; + auto y = quat.y; + auto z = quat.z; + auto w = quat.w; + Eigen::Matrix3d ret(3, 3); + // clang-format off + ret << x * x - y * y - z * z + w * w, 2 * (x * y - z * w), 2 * (z * x + w * y), + 2 * (x * y + z * w), -x * x + y * y - z * z + w * w, 2 * (y * z - x * w), + 2 * (z * x - w * y), 2 * (y * z + w * x), -x * x - y * y + z * z + w * w; + // clang-format on + return ret; +} +} // namespace geometry +} // namespace math + +#endif // GEOMETRY__QUATERNION__GET_ROTATION_MATRIX_HPP_ diff --git a/common/math/geometry/include/geometry/quaternion/quaternion_to_euler.hpp b/common/math/geometry/include/geometry/quaternion/quaternion_to_euler.hpp new file mode 100644 index 00000000000..72901ccb8e0 --- /dev/null +++ b/common/math/geometry/include/geometry/quaternion/quaternion_to_euler.hpp @@ -0,0 +1,41 @@ +// 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 GEOMETRY__QUATERNION__QUATERNION_TO_EULER_HPP_ +#define GEOMETRY__QUATERNION__QUATERNION_TO_EULER_HPP_ + +#include + +#include +#include +#include + +namespace math +{ +namespace geometry +{ +template < + typename T, std::enable_if_t>, std::nullptr_t> = nullptr> +auto convertQuaternionToEulerAngle(const T & q) +{ + tf2::Quaternion tf_quat(q.x, q.y, q.z, q.w); + tf2::Matrix3x3 mat(tf_quat); + double roll, pitch, yaw; + mat.getRPY(roll, pitch, yaw); + return geometry_msgs::build().x(roll).y(pitch).z(yaw); +} +} // namespace geometry +} // namespace math + +#endif // GEOMETRY__QUATERNION__QUATERNION_TO_EULER_HPP_ diff --git a/common/math/geometry/include/geometry/quaternion/slerp.hpp b/common/math/geometry/include/geometry/quaternion/slerp.hpp new file mode 100644 index 00000000000..1207de24277 --- /dev/null +++ b/common/math/geometry/include/geometry/quaternion/slerp.hpp @@ -0,0 +1,58 @@ +// 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 GEOMETRY__QUATERNION__SLERP_HPP_ +#define GEOMETRY__QUATERNION__SLERP_HPP_ + +#include +#include +#include +namespace math +{ +namespace geometry +{ +template < + typename T, typename U, typename V, + std::enable_if_t< + std::conjunction_v, IsLikeQuaternion, std::is_scalar>, + std::nullptr_t> = nullptr> +auto slerp(T quat1, U quat2, V t) +{ + double qr = quat1.w * quat2.w + quat1.x * quat2.x + quat1.y * quat2.y + quat1.z * quat2.z; + double ss = 1.0 - qr * qr; + constexpr double e = std::numeric_limits::epsilon(); + if (std::fabs(ss) <= e) { + return geometry_msgs::build() + .x(quat1.x) + .y(quat1.y) + .z(quat1.z) + .w(quat1.w); + } else { + double sp = std::sqrt(ss); + double ph = std::acos(qr); + double pt = ph * t; + double t1 = std::sin(pt) / sp; + double t0 = std::sin(ph - pt) / sp; + + return geometry_msgs::build() + .x(quat1.x * t0 + quat2.x * t1) + .y(quat1.y * t0 + quat2.y * t1) + .z(quat1.z * t0 + quat2.z * t1) + .w(quat1.w * t0 + quat2.w * t1); + } +} +} // namespace geometry +} // namespace math + +#endif // GEOMETRY__QUATERNION__SLERP_HPP_ diff --git a/common/math/geometry/include/geometry/spline/hermite_curve.hpp b/common/math/geometry/include/geometry/spline/hermite_curve.hpp index 1722b05f951..3b6bf8a3b91 100644 --- a/common/math/geometry/include/geometry/spline/hermite_curve.hpp +++ b/common/math/geometry/include/geometry/spline/hermite_curve.hpp @@ -16,7 +16,6 @@ #define GEOMETRY__SPLINE__HERMITE_CURVE_HPP_ #include -#include #include #include diff --git a/common/math/geometry/package.xml b/common/math/geometry/package.xml index c055ce2349d..46fb3e6a19c 100644 --- a/common/math/geometry/package.xml +++ b/common/math/geometry/package.xml @@ -2,7 +2,7 @@ geometry - 2.1.1 + 2.2.2 geometry math library for scenario_simulator_v2 application Masaya Kataoka Apache License 2.0 @@ -12,10 +12,10 @@ boost geometry_msgs - quaternion_operation rclcpp scenario_simulator_exception tf2_geometry_msgs + tf2_ros traffic_simulator_msgs ament_cmake_clang_format diff --git a/common/math/geometry/src/bounding_box.cpp b/common/math/geometry/src/bounding_box.cpp index 2d2de3c2a2e..073ef4383f7 100644 --- a/common/math/geometry/src/bounding_box.cpp +++ b/common/math/geometry/src/bounding_box.cpp @@ -12,8 +12,6 @@ // See the License for the specific language governing permissions and // limitations under the License. -#include - #include #include diff --git a/common/math/geometry/src/intersection/collision.cpp b/common/math/geometry/src/intersection/collision.cpp index d35e7d272e6..f8578d58926 100644 --- a/common/math/geometry/src/intersection/collision.cpp +++ b/common/math/geometry/src/intersection/collision.cpp @@ -12,8 +12,6 @@ // See the License for the specific language governing permissions and // limitations under the License. -#include - #include #include #include diff --git a/common/math/geometry/src/polygon/line_segment.cpp b/common/math/geometry/src/polygon/line_segment.cpp index b942d1d2f8e..5238a24b307 100644 --- a/common/math/geometry/src/polygon/line_segment.cpp +++ b/common/math/geometry/src/polygon/line_segment.cpp @@ -12,10 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. -#include - #include #include +#include #include #include #include @@ -104,7 +103,7 @@ auto LineSegment::getPose(const double s, const bool denormalize_s, const bool f .position(getPoint(s, denormalize_s)) .orientation([this, fill_pitch]() -> geometry_msgs::msg::Quaternion { const auto tangent_vec = getVector(); - return quaternion_operation::convertEulerAngleToQuaternion( + return math::geometry::convertEulerAngleToQuaternion( geometry_msgs::build() .x(0.0) .y( diff --git a/common/math/geometry/src/polygon/polygon.cpp b/common/math/geometry/src/polygon/polygon.cpp index a72d9d55ba5..0fd949371e0 100644 --- a/common/math/geometry/src/polygon/polygon.cpp +++ b/common/math/geometry/src/polygon/polygon.cpp @@ -12,8 +12,6 @@ // See the License for the specific language governing permissions and // limitations under the License. -#include - #include #include #include diff --git a/common/math/geometry/src/spline/hermite_curve.cpp b/common/math/geometry/src/spline/hermite_curve.cpp index d04254adf16..86c1b190411 100644 --- a/common/math/geometry/src/spline/hermite_curve.cpp +++ b/common/math/geometry/src/spline/hermite_curve.cpp @@ -15,6 +15,7 @@ #include #include #include +#include #include #include #include @@ -292,7 +293,7 @@ const geometry_msgs::msg::Pose HermiteCurve::getPose( rpy.x = 0.0; rpy.y = fill_pitch ? std::atan2(-tangent_vec.z, std::hypot(tangent_vec.x, tangent_vec.y)) : 0.0; rpy.z = std::atan2(tangent_vec.y, tangent_vec.x); - pose.orientation = quaternion_operation::convertEulerAngleToQuaternion(rpy); + pose.orientation = math::geometry::convertEulerAngleToQuaternion(rpy); pose.position = getPoint(s); return pose; } diff --git a/common/math/geometry/src/transform.cpp b/common/math/geometry/src/transform.cpp index 69c1af40f9c..d730bf44601 100644 --- a/common/math/geometry/src/transform.cpp +++ b/common/math/geometry/src/transform.cpp @@ -12,9 +12,10 @@ // See the License for the specific language governing permissions and // limitations under the License. -#include #include +#include +#include #include #include @@ -64,7 +65,7 @@ const geometry_msgs::msg::Pose getRelativePose( const geometry_msgs::msg::Point transformPoint( const geometry_msgs::msg::Pose & pose, const geometry_msgs::msg::Point & point) { - auto mat = quaternion_operation::getRotationMatrix(pose.orientation); + auto mat = math::geometry::getRotationMatrix(pose.orientation); Eigen::VectorXd v(3); v(0) = point.x; v(1) = point.y; @@ -84,8 +85,8 @@ const geometry_msgs::msg::Point transformPoint( const geometry_msgs::msg::Pose & pose, const geometry_msgs::msg::Pose & sensor_pose, const geometry_msgs::msg::Point & point) { - auto mat = quaternion_operation::getRotationMatrix( - quaternion_operation::getRotation(sensor_pose.orientation, pose.orientation)); + auto mat = math::geometry::getRotationMatrix( + math::geometry::getRotation(sensor_pose.orientation, pose.orientation)); Eigen::VectorXd v(3); v(0) = point.x; v(1) = point.y; diff --git a/common/math/geometry/test/test_bounding_box.cpp b/common/math/geometry/test/test_bounding_box.cpp index cbb40eb6ab5..c6df82911d0 100644 --- a/common/math/geometry/test/test_bounding_box.cpp +++ b/common/math/geometry/test/test_bounding_box.cpp @@ -13,9 +13,9 @@ // limitations under the License. #include -#include #include +#include #include #include "expect_eq_macros.hpp" @@ -79,7 +79,7 @@ TEST(BoundingBox, get2DPolygonOnlyTranslation) TEST(BoundingBox, get2DPolygonFullPose) { geometry_msgs::msg::Pose pose = makePose(1.0, 2.0); - pose.orientation = quaternion_operation::convertEulerAngleToQuaternion( + pose.orientation = math::geometry::convertEulerAngleToQuaternion( geometry_msgs::build().x(0.0).y(0.0).z(30.0 * M_PI / 180.0)); traffic_simulator_msgs::msg::BoundingBox bounding_box = makeBbox(2.0, 2.0, 2.0); boost::geometry::model::polygon> poly = diff --git a/common/math/geometry/test/test_catmull_rom_spline.cpp b/common/math/geometry/test/test_catmull_rom_spline.cpp index 0ec17c5b42c..b29aba00130 100644 --- a/common/math/geometry/test/test_catmull_rom_spline.cpp +++ b/common/math/geometry/test/test_catmull_rom_spline.cpp @@ -14,6 +14,7 @@ #include +#include #include #include @@ -470,7 +471,7 @@ TEST(CatmullRomSpline, getPoseLine) EXPECT_POINT_NEAR(pose.position, makePoint(1.5, 4.5), EPS); EXPECT_QUATERNION_NEAR( pose.orientation, - quaternion_operation::convertEulerAngleToQuaternion(makeVector(0.0, 0.0, std::atan(3.0))), EPS); + math::geometry::convertEulerAngleToQuaternion(makeVector(0.0, 0.0, std::atan(3.0))), EPS); } TEST(CatmullRomSpline, getPoseLineWithPitch) @@ -480,7 +481,7 @@ TEST(CatmullRomSpline, getPoseLineWithPitch) EXPECT_POINT_NEAR(pose.position, makePoint(1.5, 4.5, 1.5), EPS); EXPECT_QUATERNION_NEAR( pose.orientation, - quaternion_operation::convertEulerAngleToQuaternion( + math::geometry::convertEulerAngleToQuaternion( makeVector(0.0, std::atan2(-1.0, std::sqrt(1.0 + 3.0 * 3.0)), std::atan(3.0))), EPS); } diff --git a/common/math/geometry/test/test_line_segment.cpp b/common/math/geometry/test/test_line_segment.cpp index cb646135004..4c21cc35626 100644 --- a/common/math/geometry/test/test_line_segment.cpp +++ b/common/math/geometry/test/test_line_segment.cpp @@ -13,10 +13,10 @@ // limitations under the License. #include -#include #include #include +#include #include #include "expect_eq_macros.hpp" @@ -310,7 +310,7 @@ TEST(LineSegment, getSValue_parallel) const auto s = line.getSValue( makePose( 1.0, 0.0, 0.0, - quaternion_operation::convertEulerAngleToQuaternion(makeVector(0.0, 0.0, M_PI_4 * 3.0))), + math::geometry::convertEulerAngleToQuaternion(makeVector(0.0, 0.0, M_PI_4 * 3.0))), 1000.0, false); EXPECT_FALSE(s); } @@ -321,7 +321,7 @@ TEST(LineSegment, getSValue_parallelDenormalize) const auto s = line.getSValue( makePose( 1.0, 0.0, 0.0, - quaternion_operation::convertEulerAngleToQuaternion(makeVector(0.0, 0.0, M_PI_4 * 3.0))), + math::geometry::convertEulerAngleToQuaternion(makeVector(0.0, 0.0, M_PI_4 * 3.0))), 1000.0, true); EXPECT_FALSE(s); } @@ -395,7 +395,7 @@ TEST(LineSegment, GetPose) line.getPose(0, false, true), geometry_msgs::build() .position(geometry_msgs::build().x(0).y(0).z(0)) - .orientation(quaternion_operation::convertEulerAngleToQuaternion( + .orientation(math::geometry::convertEulerAngleToQuaternion( geometry_msgs::build().x(0).y(-M_PI * 0.5).z(0)))); // [Snippet_getPose_with_s_0] /// @snippet test/test_line_segment.cpp Snippet_getPose_with_s_0 @@ -412,7 +412,7 @@ TEST(LineSegment, GetPose) line.getPose(1, false, true), geometry_msgs::build() .position(geometry_msgs::build().x(0).y(0).z(1)) - .orientation(quaternion_operation::convertEulerAngleToQuaternion( + .orientation(math::geometry::convertEulerAngleToQuaternion( geometry_msgs::build().x(0).y(-M_PI * 0.5).z(0)))); // [Snippet_getPose_with_s_1] /// @snippet test/test_line_segment.cpp Snippet_getPose_with_s_1 diff --git a/common/math/geometry/test/test_transform.cpp b/common/math/geometry/test/test_transform.cpp index f544d02f4cc..57e910cc18f 100644 --- a/common/math/geometry/test/test_transform.cpp +++ b/common/math/geometry/test/test_transform.cpp @@ -13,8 +13,8 @@ // limitations under the License. #include -#include +#include #include #include "expect_eq_macros.hpp" @@ -27,7 +27,7 @@ geometry_msgs::msg::Pose getFilledPose() geometry_msgs::msg::Pose pose; pose.position = makePoint(1.0, 2.0, 3.0); pose.orientation = - quaternion_operation::convertEulerAngleToQuaternion(makeVector(90.0 * M_PI / 180.0, 0.0)); + math::geometry::convertEulerAngleToQuaternion(makeVector(90.0 * M_PI / 180.0, 0.0)); return pose; } @@ -38,7 +38,7 @@ TEST(Transform, getRelativePoseDifferent) geometry_msgs::msg::Pose ans = makePose( 2.0, -3.0, 2.0, - quaternion_operation::convertEulerAngleToQuaternion(makeVector(-90.0 * M_PI / 180.0, 0.0))); + math::geometry::convertEulerAngleToQuaternion(makeVector(-90.0 * M_PI / 180.0, 0.0))); EXPECT_POSE_NEAR(math::geometry::getRelativePose(pose0, pose1), ans, EPS); } diff --git a/common/scenario_simulator_exception/CHANGELOG.rst b/common/scenario_simulator_exception/CHANGELOG.rst index e2ff6910da9..ac179947355 100644 --- a/common/scenario_simulator_exception/CHANGELOG.rst +++ b/common/scenario_simulator_exception/CHANGELOG.rst @@ -13,6 +13,81 @@ Changelog for package scenario_simulator_exception * Merge branch 'master' into refactor/drop_workflow * Contributors: Kotaro Yoshimoto +2.2.2 (2024-06-28) +------------------ + +2.2.1 (2024-06-27) +------------------ +* Merge remote-tracking branch 'origin/master' into fix/issue1276-re +* Contributors: Masaya Kataoka + +2.2.0 (2024-06-24) +------------------ +* Merge branch 'master' into feature/clear_route_api +* Merge remote-tracking branch 'origin/master' into feature/clear_route_api +* Merge branch 'master' into feature/clear_route_api +* Merge branch 'master' into feature/clear_route_api +* Contributors: Masaya Kataoka, Taiga + +2.1.11 (2024-06-24) +------------------- +* Merge branch 'master' of github.com:tier4/scenario_simulator_v2 into feature/unit_tests/miscellaneous +* resolve merge confilct +* resolve merge +* Merge branch 'master' of github.com:tier4/scenario_simulator_v2 into feature/unit_tests/miscellaneous +* Contributors: robomic + +2.1.10 (2024-06-24) +------------------- +* Merge branch 'master' of github.com:tier4/scenario_simulator_v2 into feature/unit_tests/misc_object_entity +* Contributors: robomic + +2.1.9 (2024-06-24) +------------------ + +2.1.8 (2024-06-20) +------------------ +* Merge branch 'master' into feature/simple_sensor_simulator_unit_test +* Merge branch 'master' into feature/simple_sensor_simulator_unit_test +* Contributors: Kotaro Yoshimoto, SzymonParapura + +2.1.7 (2024-06-19) +------------------ +* Merge branch 'master' into feature/improve-ros-parameter-handling +* Merge branch 'master' into feature/improve-ros-parameter-handling +* Contributors: Masaya Kataoka, Mateusz Palczuk + +2.1.6 (2024-06-18) +------------------ + +2.1.5 (2024-06-18) +------------------ + +2.1.4 (2024-06-14) +------------------ +* Merge branch 'master' into fix/remove_quaternion_operation +* Merge branch 'master' into fix/remove_quaternion_operation +* Contributors: Masaya Kataoka + +2.1.3 (2024-06-14) +------------------ +* Merge branch 'master' into fix/issue1276 +* Contributors: Masaya Kataoka + +2.1.2 (2024-06-13) +------------------ +* Merge branch 'master' into fix/interpreter/fault-injection-action +* Merge branch 'master' into fix/interpreter/fault-injection-action +* Merge branch 'master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge branch 'master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Contributors: Tatsuya Yamasaki, yamacir-kit + 2.1.1 (2024-06-11) ------------------ * Merge branch 'master' into fix/reorder diff --git a/common/scenario_simulator_exception/package.xml b/common/scenario_simulator_exception/package.xml index e6a2c6b644c..e1c3f3a118d 100644 --- a/common/scenario_simulator_exception/package.xml +++ b/common/scenario_simulator_exception/package.xml @@ -2,7 +2,7 @@ scenario_simulator_exception - 2.1.1 + 2.2.2 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 e6d699d5042..4e58856f21e 100644 --- a/common/simple_junit/CHANGELOG.rst +++ b/common/simple_junit/CHANGELOG.rst @@ -13,6 +13,81 @@ Changelog for package junit_exporter * Merge branch 'master' into refactor/drop_workflow * Contributors: Kotaro Yoshimoto +2.2.2 (2024-06-28) +------------------ + +2.2.1 (2024-06-27) +------------------ +* Merge remote-tracking branch 'origin/master' into fix/issue1276-re +* Contributors: Masaya Kataoka + +2.2.0 (2024-06-24) +------------------ +* Merge branch 'master' into feature/clear_route_api +* Merge remote-tracking branch 'origin/master' into feature/clear_route_api +* Merge branch 'master' into feature/clear_route_api +* Merge branch 'master' into feature/clear_route_api +* Contributors: Masaya Kataoka, Taiga + +2.1.11 (2024-06-24) +------------------- +* Merge branch 'master' of github.com:tier4/scenario_simulator_v2 into feature/unit_tests/miscellaneous +* resolve merge confilct +* resolve merge +* Merge branch 'master' of github.com:tier4/scenario_simulator_v2 into feature/unit_tests/miscellaneous +* Contributors: robomic + +2.1.10 (2024-06-24) +------------------- +* Merge branch 'master' of github.com:tier4/scenario_simulator_v2 into feature/unit_tests/misc_object_entity +* Contributors: robomic + +2.1.9 (2024-06-24) +------------------ + +2.1.8 (2024-06-20) +------------------ +* Merge branch 'master' into feature/simple_sensor_simulator_unit_test +* Merge branch 'master' into feature/simple_sensor_simulator_unit_test +* Contributors: Kotaro Yoshimoto, SzymonParapura + +2.1.7 (2024-06-19) +------------------ +* Merge branch 'master' into feature/improve-ros-parameter-handling +* Merge branch 'master' into feature/improve-ros-parameter-handling +* Contributors: Masaya Kataoka, Mateusz Palczuk + +2.1.6 (2024-06-18) +------------------ + +2.1.5 (2024-06-18) +------------------ + +2.1.4 (2024-06-14) +------------------ +* Merge branch 'master' into fix/remove_quaternion_operation +* Merge branch 'master' into fix/remove_quaternion_operation +* Contributors: Masaya Kataoka + +2.1.3 (2024-06-14) +------------------ +* Merge branch 'master' into fix/issue1276 +* Contributors: Masaya Kataoka + +2.1.2 (2024-06-13) +------------------ +* Merge branch 'master' into fix/interpreter/fault-injection-action +* Merge branch 'master' into fix/interpreter/fault-injection-action +* Merge branch 'master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge branch 'master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Contributors: Tatsuya Yamasaki, yamacir-kit + 2.1.1 (2024-06-11) ------------------ * Merge branch 'master' into fix/reorder diff --git a/common/simple_junit/package.xml b/common/simple_junit/package.xml index 9aab308f0d8..21374b90041 100644 --- a/common/simple_junit/package.xml +++ b/common/simple_junit/package.xml @@ -2,7 +2,7 @@ simple_junit - 2.1.1 + 2.2.2 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 fdf4a23b211..0f2e2c997dc 100644 --- a/common/status_monitor/CHANGELOG.rst +++ b/common/status_monitor/CHANGELOG.rst @@ -13,6 +13,80 @@ Changelog for package status_monitor * Merge branch 'master' into refactor/drop_workflow * Contributors: Kotaro Yoshimoto +2.2.2 (2024-06-28) +------------------ + +2.2.1 (2024-06-27) +------------------ +* Merge remote-tracking branch 'origin/master' into fix/issue1276-re +* Contributors: Masaya Kataoka + +2.2.0 (2024-06-24) +------------------ +* Merge branch 'master' into feature/clear_route_api +* Merge remote-tracking branch 'origin/master' into feature/clear_route_api +* Merge branch 'master' into feature/clear_route_api +* Merge branch 'master' into feature/clear_route_api +* Contributors: Masaya Kataoka, Taiga + +2.1.11 (2024-06-24) +------------------- +* Merge branch 'master' of github.com:tier4/scenario_simulator_v2 into feature/unit_tests/miscellaneous +* resolve merge confilct +* resolve merge +* Merge branch 'master' of github.com:tier4/scenario_simulator_v2 into feature/unit_tests/miscellaneous +* Contributors: robomic + +2.1.10 (2024-06-24) +------------------- +* Merge branch 'master' of github.com:tier4/scenario_simulator_v2 into feature/unit_tests/misc_object_entity +* Contributors: robomic + +2.1.9 (2024-06-24) +------------------ + +2.1.8 (2024-06-20) +------------------ +* Merge branch 'master' into feature/simple_sensor_simulator_unit_test +* Merge branch 'master' into feature/simple_sensor_simulator_unit_test +* Contributors: Kotaro Yoshimoto, SzymonParapura + +2.1.7 (2024-06-19) +------------------ +* Merge branch 'master' into feature/improve-ros-parameter-handling +* Merge branch 'master' into feature/improve-ros-parameter-handling +* Contributors: Masaya Kataoka, Mateusz Palczuk + +2.1.6 (2024-06-18) +------------------ + +2.1.5 (2024-06-18) +------------------ + +2.1.4 (2024-06-14) +------------------ +* Merge branch 'master' into fix/remove_quaternion_operation +* Merge branch 'master' into fix/remove_quaternion_operation +* Contributors: Masaya Kataoka + +2.1.3 (2024-06-14) +------------------ +* Merge branch 'master' into fix/issue1276 +* Contributors: Masaya Kataoka + +2.1.2 (2024-06-13) +------------------ +* Merge branch 'master' into fix/interpreter/fault-injection-action +* Merge branch 'master' into fix/interpreter/fault-injection-action +* Merge branch 'master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge branch 'master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Contributors: Tatsuya Yamasaki, yamacir-kit + 2.1.1 (2024-06-11) ------------------ * Merge branch 'master' into fix/reorder diff --git a/common/status_monitor/package.xml b/common/status_monitor/package.xml index 4e796af2e09..b6ce52be046 100644 --- a/common/status_monitor/package.xml +++ b/common/status_monitor/package.xml @@ -2,7 +2,7 @@ status_monitor - 2.1.1 + 2.2.2 none Tatsuya Yamasaki Apache License 2.0 diff --git a/docs/developer_guide/TrafficSimulator.md b/docs/developer_guide/TrafficSimulator.md index 67d8839a7a1..223a9c0b3bd 100644 --- a/docs/developer_guide/TrafficSimulator.md +++ b/docs/developer_guide/TrafficSimulator.md @@ -24,7 +24,7 @@ You can also see the detailed documentation of the API classes [here](https://ti ```c++ #include -#include + #include #include #include diff --git a/external/concealer/CHANGELOG.rst b/external/concealer/CHANGELOG.rst index 4c424ab9c05..0e32dd7943b 100644 --- a/external/concealer/CHANGELOG.rst +++ b/external/concealer/CHANGELOG.rst @@ -13,6 +13,85 @@ Changelog for package concealer * Merge branch 'master' into refactor/drop_workflow * Contributors: Kotaro Yoshimoto +2.2.2 (2024-06-28) +------------------ + +2.2.1 (2024-06-27) +------------------ +* Merge remote-tracking branch 'origin/master' into fix/issue1276-re +* Contributors: Masaya Kataoka + +2.2.0 (2024-06-24) +------------------ +* Merge branch 'master' into feature/clear_route_api +* Merge remote-tracking branch 'origin/master' into feature/clear_route_api +* Merge branch 'master' into feature/clear_route_api +* Merge branch 'master' into feature/clear_route_api +* Contributors: Masaya Kataoka, Taiga + +2.1.11 (2024-06-24) +------------------- +* Merge branch 'master' of github.com:tier4/scenario_simulator_v2 into feature/unit_tests/miscellaneous +* resolve merge confilct +* resolve merge +* Merge branch 'master' of github.com:tier4/scenario_simulator_v2 into feature/unit_tests/miscellaneous +* Contributors: robomic + +2.1.10 (2024-06-24) +------------------- +* Merge branch 'master' of github.com:tier4/scenario_simulator_v2 into feature/unit_tests/misc_object_entity +* Contributors: robomic + +2.1.9 (2024-06-24) +------------------ + +2.1.8 (2024-06-20) +------------------ +* Merge branch 'master' into feature/simple_sensor_simulator_unit_test +* Merge branch 'master' into feature/simple_sensor_simulator_unit_test +* Contributors: Kotaro Yoshimoto, SzymonParapura + +2.1.7 (2024-06-19) +------------------ +* Merge branch 'master' into feature/improve-ros-parameter-handling +* Merge branch 'master' into feature/improve-ros-parameter-handling +* Contributors: Masaya Kataoka, Mateusz Palczuk + +2.1.6 (2024-06-18) +------------------ + +2.1.5 (2024-06-18) +------------------ + +2.1.4 (2024-06-14) +------------------ +* Merge branch 'master' into fix/remove_quaternion_operation +* Merge branch 'master' into fix/remove_quaternion_operation +* Contributors: Masaya Kataoka + +2.1.3 (2024-06-14) +------------------ +* Merge branch 'master' into fix/issue1276 +* Contributors: Masaya Kataoka + +2.1.2 (2024-06-13) +------------------ +* Merge branch 'master' into fix/interpreter/fault-injection-action +* Merge branch 'master' into fix/interpreter/fault-injection-action +* Merge branch 'master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge branch 'master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Contributors: Tatsuya Yamasaki, yamacir-kit + 2.1.1 (2024-06-11) ------------------ * Merge branch 'master' into fix/reorder diff --git a/external/concealer/package.xml b/external/concealer/package.xml index 31108291945..cfd6d98aad9 100644 --- a/external/concealer/package.xml +++ b/external/concealer/package.xml @@ -2,7 +2,7 @@ concealer - 2.1.1 + 2.2.2 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/embree_vendor/CHANGELOG.rst b/external/embree_vendor/CHANGELOG.rst index 469bdbb375b..af5c618917b 100644 --- a/external/embree_vendor/CHANGELOG.rst +++ b/external/embree_vendor/CHANGELOG.rst @@ -16,6 +16,76 @@ Changelog for package embree_vendor * Merge branch 'master' into refactor/drop_workflow * Contributors: Kotaro Yoshimoto +2.2.2 (2024-06-28) +------------------ + +2.2.1 (2024-06-27) +------------------ +* Merge remote-tracking branch 'origin/master' into fix/issue1276-re +* Contributors: Masaya Kataoka + +2.2.0 (2024-06-24) +------------------ +* Merge branch 'master' into feature/clear_route_api +* Merge remote-tracking branch 'origin/master' into feature/clear_route_api +* Merge branch 'master' into feature/clear_route_api +* Merge branch 'master' into feature/clear_route_api +* Contributors: Masaya Kataoka, Taiga + +2.1.11 (2024-06-24) +------------------- +* Merge branch 'master' of github.com:tier4/scenario_simulator_v2 into feature/unit_tests/miscellaneous +* resolve merge confilct +* resolve merge +* Merge branch 'master' of github.com:tier4/scenario_simulator_v2 into feature/unit_tests/miscellaneous +* Contributors: robomic + +2.1.10 (2024-06-24) +------------------- +* Merge branch 'master' of github.com:tier4/scenario_simulator_v2 into feature/unit_tests/misc_object_entity +* Contributors: robomic + +2.1.9 (2024-06-24) +------------------ + +2.1.8 (2024-06-20) +------------------ +* Merge branch 'master' into feature/simple_sensor_simulator_unit_test +* Merge branch 'master' into feature/simple_sensor_simulator_unit_test +* Contributors: Kotaro Yoshimoto, SzymonParapura + +2.1.7 (2024-06-19) +------------------ +* Merge branch 'master' into feature/improve-ros-parameter-handling +* Merge branch 'master' into feature/improve-ros-parameter-handling +* Contributors: Masaya Kataoka, Mateusz Palczuk + +2.1.6 (2024-06-18) +------------------ + +2.1.5 (2024-06-18) +------------------ + +2.1.4 (2024-06-14) +------------------ +* Merge branch 'master' into fix/remove_quaternion_operation +* Merge branch 'master' into fix/remove_quaternion_operation +* Contributors: Masaya Kataoka + +2.1.3 (2024-06-14) +------------------ +* Merge branch 'master' into fix/issue1276 +* Contributors: Masaya Kataoka + +2.1.2 (2024-06-13) +------------------ +* Merge branch 'master' into fix/interpreter/fault-injection-action +* Merge branch 'master' into fix/interpreter/fault-injection-action +* Merge branch 'master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge branch 'master' into fix/interpreter/fault-injection-action +* Contributors: Tatsuya Yamasaki, yamacir-kit + 2.1.1 (2024-06-11) ------------------ * Merge branch 'master' into fix/reorder diff --git a/external/embree_vendor/package.xml b/external/embree_vendor/package.xml index da3fdf03fc5..92b04874265 100644 --- a/external/embree_vendor/package.xml +++ b/external/embree_vendor/package.xml @@ -2,7 +2,7 @@ embree_vendor - 2.1.1 + 2.2.2 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 0e3b8403f64..8d45e3c9b32 100644 --- a/map/kashiwanoha_map/CHANGELOG.rst +++ b/map/kashiwanoha_map/CHANGELOG.rst @@ -13,6 +13,80 @@ Changelog for package kashiwanoha_map * Merge branch 'master' into refactor/drop_workflow * Contributors: Kotaro Yoshimoto +2.2.2 (2024-06-28) +------------------ + +2.2.1 (2024-06-27) +------------------ +* Merge remote-tracking branch 'origin/master' into fix/issue1276-re +* Contributors: Masaya Kataoka + +2.2.0 (2024-06-24) +------------------ +* Merge branch 'master' into feature/clear_route_api +* Merge remote-tracking branch 'origin/master' into feature/clear_route_api +* Merge branch 'master' into feature/clear_route_api +* Merge branch 'master' into feature/clear_route_api +* Contributors: Masaya Kataoka, Taiga + +2.1.11 (2024-06-24) +------------------- +* Merge branch 'master' of github.com:tier4/scenario_simulator_v2 into feature/unit_tests/miscellaneous +* resolve merge confilct +* resolve merge +* Merge branch 'master' of github.com:tier4/scenario_simulator_v2 into feature/unit_tests/miscellaneous +* Contributors: robomic + +2.1.10 (2024-06-24) +------------------- +* Merge branch 'master' of github.com:tier4/scenario_simulator_v2 into feature/unit_tests/misc_object_entity +* Contributors: robomic + +2.1.9 (2024-06-24) +------------------ + +2.1.8 (2024-06-20) +------------------ +* Merge branch 'master' into feature/simple_sensor_simulator_unit_test +* Merge branch 'master' into feature/simple_sensor_simulator_unit_test +* Contributors: Kotaro Yoshimoto, SzymonParapura + +2.1.7 (2024-06-19) +------------------ +* Merge branch 'master' into feature/improve-ros-parameter-handling +* Merge branch 'master' into feature/improve-ros-parameter-handling +* Contributors: Masaya Kataoka, Mateusz Palczuk + +2.1.6 (2024-06-18) +------------------ + +2.1.5 (2024-06-18) +------------------ + +2.1.4 (2024-06-14) +------------------ +* Merge branch 'master' into fix/remove_quaternion_operation +* Merge branch 'master' into fix/remove_quaternion_operation +* Contributors: Masaya Kataoka + +2.1.3 (2024-06-14) +------------------ +* Merge branch 'master' into fix/issue1276 +* Contributors: Masaya Kataoka + +2.1.2 (2024-06-13) +------------------ +* Merge branch 'master' into fix/interpreter/fault-injection-action +* Merge branch 'master' into fix/interpreter/fault-injection-action +* Merge branch 'master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge branch 'master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Contributors: Tatsuya Yamasaki, yamacir-kit + 2.1.1 (2024-06-11) ------------------ * Merge branch 'master' into fix/reorder diff --git a/map/kashiwanoha_map/package.xml b/map/kashiwanoha_map/package.xml index 03b2e8f6513..9d4f3b74ae9 100644 --- a/map/kashiwanoha_map/package.xml +++ b/map/kashiwanoha_map/package.xml @@ -2,7 +2,7 @@ kashiwanoha_map - 2.1.1 + 2.2.2 map package for kashiwanoha Masaya Kataoka Apache License 2.0 diff --git a/mock/cpp_mock_scenarios/CHANGELOG.rst b/mock/cpp_mock_scenarios/CHANGELOG.rst index 227e238da34..15066476e67 100644 --- a/mock/cpp_mock_scenarios/CHANGELOG.rst +++ b/mock/cpp_mock_scenarios/CHANGELOG.rst @@ -13,6 +13,98 @@ Changelog for package cpp_mock_scenarios * Merge branch 'master' into refactor/drop_workflow * Contributors: Kotaro Yoshimoto +2.2.2 (2024-06-28) +------------------ + +2.2.1 (2024-06-27) +------------------ +* Merge remote-tracking branch 'origin/master' into fix/issue1276-re +* Contributors: Masaya Kataoka + +2.2.0 (2024-06-24) +------------------ +* Merge branch 'master' into feature/clear_route_api +* Merge remote-tracking branch 'origin/master' into feature/clear_route_api +* Merge branch 'master' into feature/clear_route_api +* Merge branch 'master' into feature/clear_route_api +* Contributors: Masaya Kataoka, Taiga + +2.1.11 (2024-06-24) +------------------- +* Merge branch 'master' of github.com:tier4/scenario_simulator_v2 into feature/unit_tests/miscellaneous +* resolve merge confilct +* resolve merge +* Merge branch 'master' of github.com:tier4/scenario_simulator_v2 into feature/unit_tests/miscellaneous +* Contributors: robomic + +2.1.10 (2024-06-24) +------------------- +* Merge branch 'master' of github.com:tier4/scenario_simulator_v2 into feature/unit_tests/misc_object_entity +* Contributors: robomic + +2.1.9 (2024-06-24) +------------------ + +2.1.8 (2024-06-20) +------------------ +* Merge branch 'master' into feature/simple_sensor_simulator_unit_test +* Merge branch 'master' into feature/simple_sensor_simulator_unit_test +* Contributors: Kotaro Yoshimoto, SzymonParapura + +2.1.7 (2024-06-19) +------------------ +* Merge pull request `#1275 `_ from tier4/feature/improve-ros-parameter-handling + Feature: improve ROS parameter handling +* getParameter -> getROS2Parameter +* Merge branch 'master' into feature/improve-ros-parameter-handling +* Revert changes adding parameter checking + After thic change the code is functionally the same as in the beginning +* Merge branch 'master' into feature/improve-ros-parameter-handling +* ref(ParameterManager): rename to NodeParameterHandler, improve +* Apply API getParameter function where possible +* Contributors: Dawid Moszynski, Masaya Kataoka, Mateusz Palczuk + +2.1.6 (2024-06-18) +------------------ + +2.1.5 (2024-06-18) +------------------ + +2.1.4 (2024-06-14) +------------------ +* Merge pull request `#1281 `_ from tier4/fix/remove_quaternion_operation + Remove quaternion_operation +* Merge branch 'master' into fix/remove_quaternion_operation +* Merge branch 'master' into fix/remove_quaternion_operation +* change format +* fix +* Remove quaternion_operation +* Contributors: Masaya Kataoka, Taiga Takano + +2.1.3 (2024-06-14) +------------------ +* Merge branch 'master' into fix/issue1276 +* Contributors: Masaya Kataoka + +2.1.2 (2024-06-13) +------------------ +* Merge branch 'master' into fix/interpreter/fault-injection-action +* Merge branch 'master' into fix/interpreter/fault-injection-action +* Merge branch 'master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge branch 'master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Contributors: Tatsuya Yamasaki, yamacir-kit + 2.1.1 (2024-06-11) ------------------ * Merge branch 'master' into fix/reorder diff --git a/mock/cpp_mock_scenarios/package.xml b/mock/cpp_mock_scenarios/package.xml index c4aadd98806..907641c5a7d 100644 --- a/mock/cpp_mock_scenarios/package.xml +++ b/mock/cpp_mock_scenarios/package.xml @@ -2,7 +2,7 @@ cpp_mock_scenarios - 2.1.1 + 2.2.2 C++ mock scenarios masaya Apache License 2.0 diff --git a/mock/cpp_mock_scenarios/src/behavior_plugin/load_do_nothing_plugin.cpp b/mock/cpp_mock_scenarios/src/behavior_plugin/load_do_nothing_plugin.cpp index 124f53f1597..89a9fc8075c 100644 --- a/mock/cpp_mock_scenarios/src/behavior_plugin/load_do_nothing_plugin.cpp +++ b/mock/cpp_mock_scenarios/src/behavior_plugin/load_do_nothing_plugin.cpp @@ -12,8 +12,6 @@ // See the License for the specific language governing permissions and // limitations under the License. -#include - #include #include #include diff --git a/mock/cpp_mock_scenarios/src/collision/crashing_npc.cpp b/mock/cpp_mock_scenarios/src/collision/crashing_npc.cpp index a7cb7b95605..26ad2a400d1 100644 --- a/mock/cpp_mock_scenarios/src/collision/crashing_npc.cpp +++ b/mock/cpp_mock_scenarios/src/collision/crashing_npc.cpp @@ -12,8 +12,6 @@ // See the License for the specific language governing permissions and // limitations under the License. -#include - #include #include #include diff --git a/mock/cpp_mock_scenarios/src/collision/spawn_with_offset.cpp b/mock/cpp_mock_scenarios/src/collision/spawn_with_offset.cpp index 04fa1eceac6..6d997733c82 100644 --- a/mock/cpp_mock_scenarios/src/collision/spawn_with_offset.cpp +++ b/mock/cpp_mock_scenarios/src/collision/spawn_with_offset.cpp @@ -12,8 +12,6 @@ // See the License for the specific language governing permissions and // limitations under the License. -#include - #include #include #include diff --git a/mock/cpp_mock_scenarios/src/cpp_scenario_node.cpp b/mock/cpp_mock_scenarios/src/cpp_scenario_node.cpp index a2b2980590c..c7d1b5fc030 100644 --- a/mock/cpp_mock_scenarios/src/cpp_scenario_node.cpp +++ b/mock/cpp_mock_scenarios/src/cpp_scenario_node.cpp @@ -101,7 +101,7 @@ void CppScenarioNode::spawnEgoEntity( api_.attachOccupancyGridSensor([this] { simulation_api_schema::OccupancyGridSensorConfiguration configuration; // clang-format off - configuration.set_architecture_type(getParameter("architecture_type", "awf/universe")); + configuration.set_architecture_type(api_.getROS2Parameter("architecture_type", "awf/universe")); configuration.set_entity("ego"); configuration.set_filter_by_range(true); configuration.set_height(200); 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 cd19c42a469..26e6a273e36 100644 --- a/mock/cpp_mock_scenarios/src/crosswalk/stop_at_crosswalk.cpp +++ b/mock/cpp_mock_scenarios/src/crosswalk/stop_at_crosswalk.cpp @@ -12,8 +12,6 @@ // See the License for the specific language governing permissions and // limitations under the License. -#include - #include #include #include diff --git a/mock/cpp_mock_scenarios/src/follow_front_entity/accelerate_and_follow.cpp b/mock/cpp_mock_scenarios/src/follow_front_entity/accelerate_and_follow.cpp index d89f8584c03..a5d2847a2cd 100644 --- a/mock/cpp_mock_scenarios/src/follow_front_entity/accelerate_and_follow.cpp +++ b/mock/cpp_mock_scenarios/src/follow_front_entity/accelerate_and_follow.cpp @@ -12,8 +12,6 @@ // See the License for the specific language governing permissions and // limitations under the License. -#include - #include #include #include diff --git a/mock/cpp_mock_scenarios/src/follow_front_entity/decelerate_and_follow.cpp b/mock/cpp_mock_scenarios/src/follow_front_entity/decelerate_and_follow.cpp index 6079e54af5e..0b178194b62 100644 --- a/mock/cpp_mock_scenarios/src/follow_front_entity/decelerate_and_follow.cpp +++ b/mock/cpp_mock_scenarios/src/follow_front_entity/decelerate_and_follow.cpp @@ -12,8 +12,6 @@ // See the License for the specific language governing permissions and // limitations under the License. -#include - #include #include #include diff --git a/mock/cpp_mock_scenarios/src/follow_lane/acquire_position_in_world_frame.cpp b/mock/cpp_mock_scenarios/src/follow_lane/acquire_position_in_world_frame.cpp index 9ca26be1585..5fad7981307 100644 --- a/mock/cpp_mock_scenarios/src/follow_lane/acquire_position_in_world_frame.cpp +++ b/mock/cpp_mock_scenarios/src/follow_lane/acquire_position_in_world_frame.cpp @@ -12,8 +12,6 @@ // See the License for the specific language governing permissions and // limitations under the License. -#include - #include #include #include diff --git a/mock/cpp_mock_scenarios/src/follow_lane/assign_route_in_world_frame.cpp b/mock/cpp_mock_scenarios/src/follow_lane/assign_route_in_world_frame.cpp index ea6d6cbf02d..635d91ef5ae 100644 --- a/mock/cpp_mock_scenarios/src/follow_lane/assign_route_in_world_frame.cpp +++ b/mock/cpp_mock_scenarios/src/follow_lane/assign_route_in_world_frame.cpp @@ -12,8 +12,6 @@ // See the License for the specific language governing permissions and // limitations under the License. -#include - #include #include #include diff --git a/mock/cpp_mock_scenarios/src/follow_lane/cancel_request.cpp b/mock/cpp_mock_scenarios/src/follow_lane/cancel_request.cpp index acb92544a19..65d13fe6dc3 100644 --- a/mock/cpp_mock_scenarios/src/follow_lane/cancel_request.cpp +++ b/mock/cpp_mock_scenarios/src/follow_lane/cancel_request.cpp @@ -12,8 +12,6 @@ // See the License for the specific language governing permissions and // limitations under the License. -#include - #include #include #include diff --git a/mock/cpp_mock_scenarios/src/follow_lane/follow_with_offset.cpp b/mock/cpp_mock_scenarios/src/follow_lane/follow_with_offset.cpp index dc2d0df7616..38963edcf91 100644 --- a/mock/cpp_mock_scenarios/src/follow_lane/follow_with_offset.cpp +++ b/mock/cpp_mock_scenarios/src/follow_lane/follow_with_offset.cpp @@ -12,8 +12,6 @@ // See the License for the specific language governing permissions and // limitations under the License. -#include - #include #include #include diff --git a/mock/cpp_mock_scenarios/src/follow_trajectory/follow_polyline_trajectory_with_do_nothing_plugin.cpp b/mock/cpp_mock_scenarios/src/follow_trajectory/follow_polyline_trajectory_with_do_nothing_plugin.cpp index 6bf26f4bfc6..001c24f9589 100644 --- a/mock/cpp_mock_scenarios/src/follow_trajectory/follow_polyline_trajectory_with_do_nothing_plugin.cpp +++ b/mock/cpp_mock_scenarios/src/follow_trajectory/follow_polyline_trajectory_with_do_nothing_plugin.cpp @@ -12,8 +12,6 @@ // See the License for the specific language governing permissions and // limitations under the License. -#include - #include #include #include diff --git a/mock/cpp_mock_scenarios/src/lane_change/lanechange_left.cpp b/mock/cpp_mock_scenarios/src/lane_change/lanechange_left.cpp index 0da53d6be17..6c68583ed97 100644 --- a/mock/cpp_mock_scenarios/src/lane_change/lanechange_left.cpp +++ b/mock/cpp_mock_scenarios/src/lane_change/lanechange_left.cpp @@ -12,8 +12,6 @@ // See the License for the specific language governing permissions and // limitations under the License. -#include - #include #include #include diff --git a/mock/cpp_mock_scenarios/src/lane_change/lanechange_left_with_id.cpp b/mock/cpp_mock_scenarios/src/lane_change/lanechange_left_with_id.cpp index f44fd8cf1db..c4b7ba29580 100644 --- a/mock/cpp_mock_scenarios/src/lane_change/lanechange_left_with_id.cpp +++ b/mock/cpp_mock_scenarios/src/lane_change/lanechange_left_with_id.cpp @@ -12,8 +12,6 @@ // See the License for the specific language governing permissions and // limitations under the License. -#include - #include #include #include diff --git a/mock/cpp_mock_scenarios/src/lane_change/lanechange_linear.cpp b/mock/cpp_mock_scenarios/src/lane_change/lanechange_linear.cpp index 96e4f951e36..8379d7e3a0e 100644 --- a/mock/cpp_mock_scenarios/src/lane_change/lanechange_linear.cpp +++ b/mock/cpp_mock_scenarios/src/lane_change/lanechange_linear.cpp @@ -12,8 +12,6 @@ // See the License for the specific language governing permissions and // limitations under the License. -#include - #include #include #include diff --git a/mock/cpp_mock_scenarios/src/lane_change/lanechange_linear_lateral_velocity.cpp b/mock/cpp_mock_scenarios/src/lane_change/lanechange_linear_lateral_velocity.cpp index 5fb7bf04e9c..5d04ac0c4c7 100644 --- a/mock/cpp_mock_scenarios/src/lane_change/lanechange_linear_lateral_velocity.cpp +++ b/mock/cpp_mock_scenarios/src/lane_change/lanechange_linear_lateral_velocity.cpp @@ -12,8 +12,6 @@ // See the License for the specific language governing permissions and // limitations under the License. -#include - #include #include #include diff --git a/mock/cpp_mock_scenarios/src/lane_change/lanechange_linear_time.cpp b/mock/cpp_mock_scenarios/src/lane_change/lanechange_linear_time.cpp index ce85da9136b..0962d15531e 100644 --- a/mock/cpp_mock_scenarios/src/lane_change/lanechange_linear_time.cpp +++ b/mock/cpp_mock_scenarios/src/lane_change/lanechange_linear_time.cpp @@ -12,8 +12,6 @@ // See the License for the specific language governing permissions and // limitations under the License. -#include - #include #include #include diff --git a/mock/cpp_mock_scenarios/src/lane_change/lanechange_longitudinal_distance.cpp b/mock/cpp_mock_scenarios/src/lane_change/lanechange_longitudinal_distance.cpp index 18b71d0914a..24fda49308e 100644 --- a/mock/cpp_mock_scenarios/src/lane_change/lanechange_longitudinal_distance.cpp +++ b/mock/cpp_mock_scenarios/src/lane_change/lanechange_longitudinal_distance.cpp @@ -12,8 +12,6 @@ // See the License for the specific language governing permissions and // limitations under the License. -#include - #include #include #include diff --git a/mock/cpp_mock_scenarios/src/lane_change/lanechange_right.cpp b/mock/cpp_mock_scenarios/src/lane_change/lanechange_right.cpp index 99a832208b4..c5832108900 100644 --- a/mock/cpp_mock_scenarios/src/lane_change/lanechange_right.cpp +++ b/mock/cpp_mock_scenarios/src/lane_change/lanechange_right.cpp @@ -12,8 +12,6 @@ // See the License for the specific language governing permissions and // limitations under the License. -#include - #include #include #include diff --git a/mock/cpp_mock_scenarios/src/lane_change/lanechange_right_with_id.cpp b/mock/cpp_mock_scenarios/src/lane_change/lanechange_right_with_id.cpp index aca94784ae8..4ebb73d0d9b 100644 --- a/mock/cpp_mock_scenarios/src/lane_change/lanechange_right_with_id.cpp +++ b/mock/cpp_mock_scenarios/src/lane_change/lanechange_right_with_id.cpp @@ -12,8 +12,6 @@ // See the License for the specific language governing permissions and // limitations under the License. -#include - #include #include #include diff --git a/mock/cpp_mock_scenarios/src/lane_change/lanechange_time.cpp b/mock/cpp_mock_scenarios/src/lane_change/lanechange_time.cpp index d51f0629965..a9c82824707 100644 --- a/mock/cpp_mock_scenarios/src/lane_change/lanechange_time.cpp +++ b/mock/cpp_mock_scenarios/src/lane_change/lanechange_time.cpp @@ -12,8 +12,6 @@ // See the License for the specific language governing permissions and // limitations under the License. -#include - #include #include #include diff --git a/mock/cpp_mock_scenarios/src/measurement/get_distance_in_lane_coordinate_distance.cpp b/mock/cpp_mock_scenarios/src/measurement/get_distance_in_lane_coordinate_distance.cpp index 56bd0f2bd42..98c428e23fc 100644 --- a/mock/cpp_mock_scenarios/src/measurement/get_distance_in_lane_coordinate_distance.cpp +++ b/mock/cpp_mock_scenarios/src/measurement/get_distance_in_lane_coordinate_distance.cpp @@ -12,8 +12,6 @@ // See the License for the specific language governing permissions and // limitations under the License. -#include - #include #include #include diff --git a/mock/cpp_mock_scenarios/src/measurement/get_distance_to_lane_bound.cpp b/mock/cpp_mock_scenarios/src/measurement/get_distance_to_lane_bound.cpp index 5cb649c30a4..a177ccaa4bb 100644 --- a/mock/cpp_mock_scenarios/src/measurement/get_distance_to_lane_bound.cpp +++ b/mock/cpp_mock_scenarios/src/measurement/get_distance_to_lane_bound.cpp @@ -12,8 +12,6 @@ // See the License for the specific language governing permissions and // limitations under the License. -#include - #include #include #include diff --git a/mock/cpp_mock_scenarios/src/merge/merge_left.cpp b/mock/cpp_mock_scenarios/src/merge/merge_left.cpp index 58657664c30..bf3cdea6b7c 100644 --- a/mock/cpp_mock_scenarios/src/merge/merge_left.cpp +++ b/mock/cpp_mock_scenarios/src/merge/merge_left.cpp @@ -12,8 +12,6 @@ // See the License for the specific language governing permissions and // limitations under the License. -#include - #include #include #include diff --git a/mock/cpp_mock_scenarios/src/metrics/traveled_distance.cpp b/mock/cpp_mock_scenarios/src/metrics/traveled_distance.cpp index a9fb6e778d1..c99152021b7 100644 --- a/mock/cpp_mock_scenarios/src/metrics/traveled_distance.cpp +++ b/mock/cpp_mock_scenarios/src/metrics/traveled_distance.cpp @@ -12,8 +12,6 @@ // See the License for the specific language governing permissions and // limitations under the License. -#include - #include #include #include diff --git a/mock/cpp_mock_scenarios/src/move_backward/move_backward.cpp b/mock/cpp_mock_scenarios/src/move_backward/move_backward.cpp index 86472368741..a326b433423 100644 --- a/mock/cpp_mock_scenarios/src/move_backward/move_backward.cpp +++ b/mock/cpp_mock_scenarios/src/move_backward/move_backward.cpp @@ -12,8 +12,6 @@ // See the License for the specific language governing permissions and // limitations under the License. -#include - #include #include #include diff --git a/mock/cpp_mock_scenarios/src/pedestrian/walk_straight.cpp b/mock/cpp_mock_scenarios/src/pedestrian/walk_straight.cpp index c43a293acaa..b5d4999a694 100644 --- a/mock/cpp_mock_scenarios/src/pedestrian/walk_straight.cpp +++ b/mock/cpp_mock_scenarios/src/pedestrian/walk_straight.cpp @@ -12,8 +12,6 @@ // See the License for the specific language governing permissions and // limitations under the License. -#include - #include #include #include diff --git a/mock/cpp_mock_scenarios/src/random_scenario/random001.cpp b/mock/cpp_mock_scenarios/src/random_scenario/random001.cpp index 18ba59f2115..2cd4746d5dd 100644 --- a/mock/cpp_mock_scenarios/src/random_scenario/random001.cpp +++ b/mock/cpp_mock_scenarios/src/random_scenario/random001.cpp @@ -12,8 +12,6 @@ // See the License for the specific language governing permissions and // limitations under the License. -#include - #include #include #include diff --git a/mock/cpp_mock_scenarios/src/speed_planning/request_speed_change.cpp b/mock/cpp_mock_scenarios/src/speed_planning/request_speed_change.cpp index 79b7c5dfb05..bd1f63a5a7b 100644 --- a/mock/cpp_mock_scenarios/src/speed_planning/request_speed_change.cpp +++ b/mock/cpp_mock_scenarios/src/speed_planning/request_speed_change.cpp @@ -12,8 +12,6 @@ // See the License for the specific language governing permissions and // limitations under the License. -#include - #include #include #include diff --git a/mock/cpp_mock_scenarios/src/speed_planning/request_speed_change_continuous_false.cpp b/mock/cpp_mock_scenarios/src/speed_planning/request_speed_change_continuous_false.cpp index b49c3b12311..1875dcebd71 100644 --- a/mock/cpp_mock_scenarios/src/speed_planning/request_speed_change_continuous_false.cpp +++ b/mock/cpp_mock_scenarios/src/speed_planning/request_speed_change_continuous_false.cpp @@ -12,8 +12,6 @@ // See the License for the specific language governing permissions and // limitations under the License. -#include - #include #include #include diff --git a/mock/cpp_mock_scenarios/src/speed_planning/request_speed_change_relative.cpp b/mock/cpp_mock_scenarios/src/speed_planning/request_speed_change_relative.cpp index 87721639833..869754527fb 100644 --- a/mock/cpp_mock_scenarios/src/speed_planning/request_speed_change_relative.cpp +++ b/mock/cpp_mock_scenarios/src/speed_planning/request_speed_change_relative.cpp @@ -12,8 +12,6 @@ // See the License for the specific language governing permissions and // limitations under the License. -#include - #include #include #include diff --git a/mock/cpp_mock_scenarios/src/speed_planning/request_speed_change_step.cpp b/mock/cpp_mock_scenarios/src/speed_planning/request_speed_change_step.cpp index 2cdec5c0d60..36cdfbae984 100644 --- a/mock/cpp_mock_scenarios/src/speed_planning/request_speed_change_step.cpp +++ b/mock/cpp_mock_scenarios/src/speed_planning/request_speed_change_step.cpp @@ -12,8 +12,6 @@ // See the License for the specific language governing permissions and // limitations under the License. -#include - #include #include #include diff --git a/mock/cpp_mock_scenarios/src/speed_planning/request_speed_change_with_limit.cpp b/mock/cpp_mock_scenarios/src/speed_planning/request_speed_change_with_limit.cpp index 5e9e161d001..b4639aa6530 100644 --- a/mock/cpp_mock_scenarios/src/speed_planning/request_speed_change_with_limit.cpp +++ b/mock/cpp_mock_scenarios/src/speed_planning/request_speed_change_with_limit.cpp @@ -12,8 +12,6 @@ // See the License for the specific language governing permissions and // limitations under the License. -#include - #include #include #include diff --git a/mock/cpp_mock_scenarios/src/speed_planning/request_speed_change_with_time_constraint.cpp b/mock/cpp_mock_scenarios/src/speed_planning/request_speed_change_with_time_constraint.cpp index 3552d6dbb75..d5f21a2e0fa 100644 --- a/mock/cpp_mock_scenarios/src/speed_planning/request_speed_change_with_time_constraint.cpp +++ b/mock/cpp_mock_scenarios/src/speed_planning/request_speed_change_with_time_constraint.cpp @@ -12,8 +12,6 @@ // See the License for the specific language governing permissions and // limitations under the License. -#include - #include #include #include diff --git a/mock/cpp_mock_scenarios/src/speed_planning/request_speed_change_with_time_constraint_linear.cpp b/mock/cpp_mock_scenarios/src/speed_planning/request_speed_change_with_time_constraint_linear.cpp index b6999ecd263..c0df3f38c68 100644 --- a/mock/cpp_mock_scenarios/src/speed_planning/request_speed_change_with_time_constraint_linear.cpp +++ b/mock/cpp_mock_scenarios/src/speed_planning/request_speed_change_with_time_constraint_linear.cpp @@ -12,8 +12,6 @@ // See the License for the specific language governing permissions and // limitations under the License. -#include - #include #include #include diff --git a/mock/cpp_mock_scenarios/src/speed_planning/request_speed_change_with_time_constraint_relative.cpp b/mock/cpp_mock_scenarios/src/speed_planning/request_speed_change_with_time_constraint_relative.cpp index be3fa4e59d9..e40b06d635d 100644 --- a/mock/cpp_mock_scenarios/src/speed_planning/request_speed_change_with_time_constraint_relative.cpp +++ b/mock/cpp_mock_scenarios/src/speed_planning/request_speed_change_with_time_constraint_relative.cpp @@ -12,8 +12,6 @@ // See the License for the specific language governing permissions and // limitations under the License. -#include - #include #include #include diff --git a/mock/cpp_mock_scenarios/src/traffic_simulation_demo.cpp b/mock/cpp_mock_scenarios/src/traffic_simulation_demo.cpp index d323f921542..a87fada6355 100644 --- a/mock/cpp_mock_scenarios/src/traffic_simulation_demo.cpp +++ b/mock/cpp_mock_scenarios/src/traffic_simulation_demo.cpp @@ -12,8 +12,6 @@ // See the License for the specific language governing permissions and // limitations under the License. -#include - #include #include #include diff --git a/mock/cpp_mock_scenarios/src/traffic_source/define_traffic_source_delay.cpp b/mock/cpp_mock_scenarios/src/traffic_source/define_traffic_source_delay.cpp index 68fc8abafaf..4fbaf8e04d1 100644 --- a/mock/cpp_mock_scenarios/src/traffic_source/define_traffic_source_delay.cpp +++ b/mock/cpp_mock_scenarios/src/traffic_source/define_traffic_source_delay.cpp @@ -12,11 +12,10 @@ // See the License for the specific language governing permissions and // limitations under the License. -#include - #include #include #include +#include #include #include #include @@ -57,7 +56,7 @@ class DefineTrafficSourceDelay : public cpp_mock_scenarios::CppScenarioNode 5.0, 2.0, 10.0, geometry_msgs::build() .position(geometry_msgs::build().x(3755.0).y(73692.5).z(0.0)) - .orientation(quaternion_operation::convertEulerAngleToQuaternion( + .orientation(math::geometry::convertEulerAngleToQuaternion( geometry_msgs::build().x(0.0).y(0.0).z(0.321802))), // clang-format off { diff --git a/mock/cpp_mock_scenarios/src/traffic_source/define_traffic_source_high_rate.cpp b/mock/cpp_mock_scenarios/src/traffic_source/define_traffic_source_high_rate.cpp index 29c75300e5b..f717cb95409 100644 --- a/mock/cpp_mock_scenarios/src/traffic_source/define_traffic_source_high_rate.cpp +++ b/mock/cpp_mock_scenarios/src/traffic_source/define_traffic_source_high_rate.cpp @@ -12,11 +12,10 @@ // See the License for the specific language governing permissions and // limitations under the License. -#include - #include #include #include +#include #include #include #include @@ -78,7 +77,7 @@ class DefineTrafficSourceHighRate : public cpp_mock_scenarios::CppScenarioNode 5.0, 50.0, 10.0, geometry_msgs::build() .position(geometry_msgs::build().x(3755.0).y(73692.5).z(0.0)) - .orientation(quaternion_operation::convertEulerAngleToQuaternion( + .orientation(math::geometry::convertEulerAngleToQuaternion( geometry_msgs::build().x(0.0).y(0.0).z(0.321802))), // clang-format off { diff --git a/mock/cpp_mock_scenarios/src/traffic_source/define_traffic_source_large.cpp b/mock/cpp_mock_scenarios/src/traffic_source/define_traffic_source_large.cpp index 5b16c43c2f5..25b324894ee 100644 --- a/mock/cpp_mock_scenarios/src/traffic_source/define_traffic_source_large.cpp +++ b/mock/cpp_mock_scenarios/src/traffic_source/define_traffic_source_large.cpp @@ -12,11 +12,10 @@ // See the License for the specific language governing permissions and // limitations under the License. -#include - #include #include #include +#include #include #include #include @@ -74,7 +73,7 @@ class DefineTrafficSourceLarge : public cpp_mock_scenarios::CppScenarioNode 200.0, 2.0, 10.0, geometry_msgs::build() .position(geometry_msgs::build().x(3764.18).y(73745.45).z(0.0)) - .orientation(quaternion_operation::convertEulerAngleToQuaternion( + .orientation(math::geometry::convertEulerAngleToQuaternion( geometry_msgs::build().x(0.0).y(0.0).z(0.321802))), // clang-format off { diff --git a/mock/cpp_mock_scenarios/src/traffic_source/define_traffic_source_mixed.cpp b/mock/cpp_mock_scenarios/src/traffic_source/define_traffic_source_mixed.cpp index 211ae7cd7c1..97d8c75e2a2 100644 --- a/mock/cpp_mock_scenarios/src/traffic_source/define_traffic_source_mixed.cpp +++ b/mock/cpp_mock_scenarios/src/traffic_source/define_traffic_source_mixed.cpp @@ -12,11 +12,10 @@ // See the License for the specific language governing permissions and // limitations under the License. -#include - #include #include #include +#include #include #include #include @@ -91,7 +90,7 @@ class DefineTrafficSourceMixed : public cpp_mock_scenarios::CppScenarioNode 5.0, 3.0, 5.0, geometry_msgs::build() .position(geometry_msgs::build().x(3755.0).y(73692.5).z(0.0)) - .orientation(quaternion_operation::convertEulerAngleToQuaternion( + .orientation(math::geometry::convertEulerAngleToQuaternion( geometry_msgs::build().x(0.0).y(0.0).z(0.321802))), // clang-format off { diff --git a/mock/cpp_mock_scenarios/src/traffic_source/define_traffic_source_multiple.cpp b/mock/cpp_mock_scenarios/src/traffic_source/define_traffic_source_multiple.cpp index 316953dccff..01e5a634256 100644 --- a/mock/cpp_mock_scenarios/src/traffic_source/define_traffic_source_multiple.cpp +++ b/mock/cpp_mock_scenarios/src/traffic_source/define_traffic_source_multiple.cpp @@ -12,11 +12,10 @@ // See the License for the specific language governing permissions and // limitations under the License. -#include - #include #include #include +#include #include #include #include @@ -100,7 +99,7 @@ class DefineTrafficSourceMultiple : public cpp_mock_scenarios::CppScenarioNode 5.0, 2.0, 10.0, geometry_msgs::build() .position(geometry_msgs::build().x(3755.0).y(73692.5).z(0.0)) - .orientation(quaternion_operation::convertEulerAngleToQuaternion( + .orientation(math::geometry::convertEulerAngleToQuaternion( geometry_msgs::build().x(0.0).y(0.0).z(0.321802))), // clang-format off { @@ -113,7 +112,7 @@ class DefineTrafficSourceMultiple : public cpp_mock_scenarios::CppScenarioNode 1.0, 5.0, 3.0, geometry_msgs::build() .position(geometry_msgs::build().x(3757.0).y(73750.3).z(0.0)) - .orientation(quaternion_operation::convertEulerAngleToQuaternion( + .orientation(math::geometry::convertEulerAngleToQuaternion( geometry_msgs::build().x(0.0).y(0.0).z(0.321802))), // clang-format off diff --git a/mock/cpp_mock_scenarios/src/traffic_source/define_traffic_source_outside_lane.cpp b/mock/cpp_mock_scenarios/src/traffic_source/define_traffic_source_outside_lane.cpp index bd51fe41d91..37fd9d2af2a 100644 --- a/mock/cpp_mock_scenarios/src/traffic_source/define_traffic_source_outside_lane.cpp +++ b/mock/cpp_mock_scenarios/src/traffic_source/define_traffic_source_outside_lane.cpp @@ -12,11 +12,10 @@ // See the License for the specific language governing permissions and // limitations under the License. -#include - #include #include #include +#include #include #include #include @@ -74,7 +73,7 @@ class DefineTrafficSourceOutsideLane : public cpp_mock_scenarios::CppScenarioNod 10.0, 2.0, 3.0, geometry_msgs::build() .position(geometry_msgs::build().x(3745.0).y(73710.0).z(0.0)) - .orientation(quaternion_operation::convertEulerAngleToQuaternion( + .orientation(math::geometry::convertEulerAngleToQuaternion( geometry_msgs::build().x(0.0).y(0.0).z(0.0))), // clang-format off diff --git a/mock/cpp_mock_scenarios/src/traffic_source/define_traffic_source_pedestrian.cpp b/mock/cpp_mock_scenarios/src/traffic_source/define_traffic_source_pedestrian.cpp index a86c9a59146..870b790cf1b 100644 --- a/mock/cpp_mock_scenarios/src/traffic_source/define_traffic_source_pedestrian.cpp +++ b/mock/cpp_mock_scenarios/src/traffic_source/define_traffic_source_pedestrian.cpp @@ -12,11 +12,10 @@ // See the License for the specific language governing permissions and // limitations under the License. -#include - #include #include #include +#include #include #include #include @@ -77,7 +76,7 @@ class DefineTrafficSourcePedestrian : public cpp_mock_scenarios::CppScenarioNode 1.0, 5.0, 3.0, geometry_msgs::build() .position(geometry_msgs::build().x(3757.0).y(73750.3).z(0.0)) - .orientation(quaternion_operation::convertEulerAngleToQuaternion( + .orientation(math::geometry::convertEulerAngleToQuaternion( geometry_msgs::build().x(0.0).y(0.0).z(0.321802))), // clang-format off diff --git a/mock/cpp_mock_scenarios/src/traffic_source/define_traffic_source_vehicle.cpp b/mock/cpp_mock_scenarios/src/traffic_source/define_traffic_source_vehicle.cpp index f4d9d95aaa4..a926ab8b51e 100644 --- a/mock/cpp_mock_scenarios/src/traffic_source/define_traffic_source_vehicle.cpp +++ b/mock/cpp_mock_scenarios/src/traffic_source/define_traffic_source_vehicle.cpp @@ -12,11 +12,10 @@ // See the License for the specific language governing permissions and // limitations under the License. -#include - #include #include #include +#include #include #include #include @@ -78,7 +77,7 @@ class DefineTrafficSourceVehicle : public cpp_mock_scenarios::CppScenarioNode 5.0, 2.0, 10.0, geometry_msgs::build() .position(geometry_msgs::build().x(3755.0).y(73692.5).z(0.0)) - .orientation(quaternion_operation::convertEulerAngleToQuaternion( + .orientation(math::geometry::convertEulerAngleToQuaternion( geometry_msgs::build().x(0.0).y(0.0).z(0.321802))), // clang-format off { diff --git a/openscenario/openscenario_experimental_catalog/CHANGELOG.rst b/openscenario/openscenario_experimental_catalog/CHANGELOG.rst index 6f3b9f30ae8..0fb5f0cf2c6 100644 --- a/openscenario/openscenario_experimental_catalog/CHANGELOG.rst +++ b/openscenario/openscenario_experimental_catalog/CHANGELOG.rst @@ -13,6 +13,81 @@ Changelog for package openscenario_experimental_catalog * Merge branch 'master' into refactor/drop_workflow * Contributors: Kotaro Yoshimoto +2.2.2 (2024-06-28) +------------------ + +2.2.1 (2024-06-27) +------------------ +* Merge remote-tracking branch 'origin/master' into fix/issue1276-re +* Contributors: Masaya Kataoka + +2.2.0 (2024-06-24) +------------------ +* Merge branch 'master' into feature/clear_route_api +* Merge remote-tracking branch 'origin/master' into feature/clear_route_api +* Merge branch 'master' into feature/clear_route_api +* Merge branch 'master' into feature/clear_route_api +* Contributors: Masaya Kataoka, Taiga + +2.1.11 (2024-06-24) +------------------- +* Merge branch 'master' of github.com:tier4/scenario_simulator_v2 into feature/unit_tests/miscellaneous +* resolve merge confilct +* resolve merge +* Merge branch 'master' of github.com:tier4/scenario_simulator_v2 into feature/unit_tests/miscellaneous +* Contributors: robomic + +2.1.10 (2024-06-24) +------------------- +* Merge branch 'master' of github.com:tier4/scenario_simulator_v2 into feature/unit_tests/misc_object_entity +* Contributors: robomic + +2.1.9 (2024-06-24) +------------------ + +2.1.8 (2024-06-20) +------------------ +* Merge branch 'master' into feature/simple_sensor_simulator_unit_test +* Merge branch 'master' into feature/simple_sensor_simulator_unit_test +* Contributors: Kotaro Yoshimoto, SzymonParapura + +2.1.7 (2024-06-19) +------------------ +* Merge branch 'master' into feature/improve-ros-parameter-handling +* Merge branch 'master' into feature/improve-ros-parameter-handling +* Contributors: Masaya Kataoka, Mateusz Palczuk + +2.1.6 (2024-06-18) +------------------ + +2.1.5 (2024-06-18) +------------------ + +2.1.4 (2024-06-14) +------------------ +* Merge branch 'master' into fix/remove_quaternion_operation +* Merge branch 'master' into fix/remove_quaternion_operation +* Contributors: Masaya Kataoka + +2.1.3 (2024-06-14) +------------------ +* Merge branch 'master' into fix/issue1276 +* Contributors: Masaya Kataoka + +2.1.2 (2024-06-13) +------------------ +* Merge branch 'master' into fix/interpreter/fault-injection-action +* Merge branch 'master' into fix/interpreter/fault-injection-action +* Merge branch 'master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge branch 'master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Contributors: Tatsuya Yamasaki, yamacir-kit + 2.1.1 (2024-06-11) ------------------ * Merge branch 'master' into fix/reorder diff --git a/openscenario/openscenario_experimental_catalog/package.xml b/openscenario/openscenario_experimental_catalog/package.xml index faefc7f51a6..c8cdf1db421 100644 --- a/openscenario/openscenario_experimental_catalog/package.xml +++ b/openscenario/openscenario_experimental_catalog/package.xml @@ -2,7 +2,7 @@ openscenario_experimental_catalog - 2.1.1 + 2.2.2 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 c7ec857f78a..60974492fcc 100644 --- a/openscenario/openscenario_interpreter/CHANGELOG.rst +++ b/openscenario/openscenario_interpreter/CHANGELOG.rst @@ -14,6 +14,109 @@ Changelog for package openscenario_interpreter * Merge branch 'master' into refactor/drop_workflow * Contributors: Kotaro Yoshimoto +2.2.2 (2024-06-28) +------------------ + +2.2.1 (2024-06-27) +------------------ +* Merge remote-tracking branch 'origin/master' into fix/issue1276-re +* Contributors: Masaya Kataoka + +2.2.0 (2024-06-24) +------------------ +* Merge branch 'master' into feature/clear_route_api +* Merge remote-tracking branch 'origin/master' into feature/clear_route_api +* Merge branch 'master' into feature/clear_route_api +* Merge branch 'master' into feature/clear_route_api +* Contributors: Masaya Kataoka, Taiga + +2.1.11 (2024-06-24) +------------------- +* Merge branch 'master' of github.com:tier4/scenario_simulator_v2 into feature/unit_tests/miscellaneous +* resolve merge confilct +* resolve merge +* Merge branch 'master' of github.com:tier4/scenario_simulator_v2 into feature/unit_tests/miscellaneous +* Contributors: robomic + +2.1.10 (2024-06-24) +------------------- +* Merge branch 'master' of github.com:tier4/scenario_simulator_v2 into feature/unit_tests/misc_object_entity +* Contributors: robomic + +2.1.9 (2024-06-24) +------------------ + +2.1.8 (2024-06-20) +------------------ +* Merge branch 'master' into feature/simple_sensor_simulator_unit_test +* Merge branch 'master' into feature/simple_sensor_simulator_unit_test +* Contributors: Kotaro Yoshimoto, SzymonParapura + +2.1.7 (2024-06-19) +------------------ +* Merge pull request `#1275 `_ from tier4/feature/improve-ros-parameter-handling + Feature: improve ROS parameter handling +* getParameter -> getROS2Parameter +* Merge branch 'master' into feature/improve-ros-parameter-handling +* Revert changes adding parameter checking + After thic change the code is functionally the same as in the beginning +* Merge branch 'master' into feature/improve-ros-parameter-handling +* ref(ParameterManager): rename to NodeParameterHandler, improve +* Apply API getParameter function where possible +* Contributors: Dawid Moszynski, Masaya Kataoka, Mateusz Palczuk + +2.1.6 (2024-06-18) +------------------ + +2.1.5 (2024-06-18) +------------------ + +2.1.4 (2024-06-14) +------------------ +* Merge pull request `#1281 `_ from tier4/fix/remove_quaternion_operation + Remove quaternion_operation +* Merge branch 'master' into fix/remove_quaternion_operation +* Merge branch 'master' into fix/remove_quaternion_operation +* fix +* Merge branch 'master' into fix/remove_quaternion_operation +* Remove quaternion_operation +* Contributors: Masaya Kataoka, Taiga Takano + +2.1.3 (2024-06-14) +------------------ +* Merge branch 'master' into fix/issue1276 +* Contributors: Masaya Kataoka + +2.1.2 (2024-06-13) +------------------ +* Merge pull request `#1012 `_ from tier4/fix/interpreter/fault-injection-action + Fix/interpreter/fault injection action +* Merge branch 'master' into fix/interpreter/fault-injection-action +* Merge branch 'master' into fix/interpreter/fault-injection-action +* Merge branch 'master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge branch 'master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge pull request `#1021 `_ from tier4/fix/interpreter/fault_injection_action/qos_depth + fix(action): fix fault injection action - qos +* ref(action): apply clang_format +* fix(action): fix fault injection - history_depth in qos +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Lipsticks +* Update FaultInjection to prepare Node and Publisher in the parse phase +* Contributors: Dawid Moszyński, Kotaro Yoshimoto, Tatsuya Yamasaki, yamacir-kit + 2.1.1 (2024-06-11) ------------------ * Merge branch 'master' into fix/reorder diff --git a/openscenario/openscenario_interpreter/include/openscenario_interpreter/simulator_core.hpp b/openscenario/openscenario_interpreter/include/openscenario_interpreter/simulator_core.hpp index 5e1f4ef6a76..927d9374031 100644 --- a/openscenario/openscenario_interpreter/include/openscenario_interpreter/simulator_core.hpp +++ b/openscenario/openscenario_interpreter/include/openscenario_interpreter/simulator_core.hpp @@ -15,6 +15,7 @@ #ifndef OPENSCENARIO_INTERPRETER__SIMULATOR_CORE_HPP_ #define OPENSCENARIO_INTERPRETER__SIMULATOR_CORE_HPP_ +#include #include #include #include @@ -338,7 +339,7 @@ class SimulatorCore core->attachDetectionSensor([&]() { simulation_api_schema::DetectionSensorConfiguration configuration; // clang-format off - configuration.set_architecture_type(getParameter("architecture_type", "awf/universe")); + configuration.set_architecture_type(core->getROS2Parameter("architecture_type", "awf/universe")); configuration.set_entity(entity_ref); configuration.set_detect_all_objects_in_range(controller.properties.template get("isClairvoyant")); configuration.set_object_recognition_delay(controller.properties.template get("detectedObjectPublishingDelay")); @@ -355,7 +356,7 @@ class SimulatorCore core->attachOccupancyGridSensor([&]() { simulation_api_schema::OccupancyGridSensorConfiguration configuration; // clang-format off - configuration.set_architecture_type(getParameter("architecture_type", "awf/universe")); + configuration.set_architecture_type(core->getROS2Parameter("architecture_type", "awf/universe")); configuration.set_entity(entity_ref); configuration.set_filter_by_range(controller.properties.template get("isClairvoyant")); configuration.set_height(200); @@ -370,7 +371,7 @@ class SimulatorCore core->attachPseudoTrafficLightDetector([&]() { simulation_api_schema::PseudoTrafficLightDetectorConfiguration configuration; configuration.set_architecture_type( - getParameter("architecture_type", "awf/universe")); + core->getROS2Parameter("architecture_type", "awf/universe")); return configuration; }()); @@ -562,8 +563,7 @@ class SimulatorCore const auto relative_pose = traffic_simulator::pose::relativePose(from_map_pose, to_map_pose)) { return static_cast(std::abs( - quaternion_operation::convertQuaternionToEulerAngle(relative_pose.value().orientation) - .z)); + math::geometry::convertQuaternionToEulerAngle(relative_pose.value().orientation).z)); } } return Double::nan(); diff --git a/openscenario/openscenario_interpreter/package.xml b/openscenario/openscenario_interpreter/package.xml index 0e6d953363e..736ebe9f644 100644 --- a/openscenario/openscenario_interpreter/package.xml +++ b/openscenario/openscenario_interpreter/package.xml @@ -2,7 +2,7 @@ openscenario_interpreter - 2.1.1 + 2.2.2 OpenSCENARIO 1.2.0 interpreter package for Autoware Tatsuya Yamasaki Apache License 2.0 diff --git a/openscenario/openscenario_interpreter/src/syntax/custom_command_action.cpp b/openscenario/openscenario_interpreter/src/syntax/custom_command_action.cpp index a7e74f15e5b..a54c9731c54 100644 --- a/openscenario/openscenario_interpreter/src/syntax/custom_command_action.cpp +++ b/openscenario/openscenario_interpreter/src/syntax/custom_command_action.cpp @@ -30,21 +30,32 @@ inline namespace syntax template struct ApplyFaultInjectionAction : public CustomCommand { - using CustomCommand::CustomCommand; - - static auto node() -> rclcpp::Node & + static auto node() -> auto & { - static rclcpp::Node node{"custom_command_action", "simulation"}; + static auto node = []() { + auto options = rclcpp::NodeOptions(); + options.use_global_arguments(false); + return rclcpp::Node( + "custom_command_action_" + boost::lexical_cast(std::this_thread::get_id()), + "simulation", options); + }(); return node; } - static auto publisher() -> rclcpp::Publisher & + static auto publisher() -> auto & { - static auto publisher = node().create_publisher( - "/simulation/events", rclcpp::QoS(1).reliable()); + static auto publisher = + node().template create_publisher( + "events", rclcpp::QoS(rclcpp::KeepLast(10)).reliable()); return *publisher; } + template + explicit ApplyFaultInjectionAction(Ts &&... xs) : CustomCommand(std::forward(xs)...) + { + publisher(); + } + auto start(const Scope &) -> void override { static_assert(0 < Version and Version <= 2); @@ -292,10 +303,9 @@ struct ForkExecCommand : public CustomCommand auto makeCustomCommand(const std::string & type, const std::string & content) -> std::shared_ptr { -#define ELEMENT(NAME, TYPE) \ - std::make_pair(NAME, [](auto &&... xs) { \ - return std::shared_ptr(new TYPE(std::forward(xs)...)); \ - }) +#define ELEMENT(NAME, TYPE) \ + std::make_pair( \ + NAME, [](auto &&... xs) { return std::make_shared(std::forward(xs)...); }) static const std::unordered_map< std::string, std::function(const std::vector &)>> diff --git a/openscenario/openscenario_interpreter/src/syntax/world_position.cpp b/openscenario/openscenario_interpreter/src/syntax/world_position.cpp index f21e6d3089e..1969d597d90 100644 --- a/openscenario/openscenario_interpreter/src/syntax/world_position.cpp +++ b/openscenario/openscenario_interpreter/src/syntax/world_position.cpp @@ -12,8 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -#include - +#include #include #include #include @@ -43,7 +42,7 @@ WorldPosition::operator NativeWorldPosition() const native_world_position.position.x = x; native_world_position.position.y = y; native_world_position.position.z = z; - native_world_position.orientation = quaternion_operation::convertEulerAngleToQuaternion( + native_world_position.orientation = math::geometry::convertEulerAngleToQuaternion( geometry_msgs::build().x(r).y(p).z(h)); return native_world_position; } diff --git a/openscenario/openscenario_interpreter_example/CHANGELOG.rst b/openscenario/openscenario_interpreter_example/CHANGELOG.rst index 8e03db065a0..a4d1da3b22a 100644 --- a/openscenario/openscenario_interpreter_example/CHANGELOG.rst +++ b/openscenario/openscenario_interpreter_example/CHANGELOG.rst @@ -13,6 +13,80 @@ Changelog for package openscenario_interpreter_example * Merge branch 'master' into refactor/drop_workflow * Contributors: Kotaro Yoshimoto +2.2.2 (2024-06-28) +------------------ + +2.2.1 (2024-06-27) +------------------ +* Merge remote-tracking branch 'origin/master' into fix/issue1276-re +* Contributors: Masaya Kataoka + +2.2.0 (2024-06-24) +------------------ +* Merge branch 'master' into feature/clear_route_api +* Merge remote-tracking branch 'origin/master' into feature/clear_route_api +* Merge branch 'master' into feature/clear_route_api +* Merge branch 'master' into feature/clear_route_api +* Contributors: Masaya Kataoka, Taiga + +2.1.11 (2024-06-24) +------------------- +* Merge branch 'master' of github.com:tier4/scenario_simulator_v2 into feature/unit_tests/miscellaneous +* resolve merge confilct +* resolve merge +* Merge branch 'master' of github.com:tier4/scenario_simulator_v2 into feature/unit_tests/miscellaneous +* Contributors: robomic + +2.1.10 (2024-06-24) +------------------- +* Merge branch 'master' of github.com:tier4/scenario_simulator_v2 into feature/unit_tests/misc_object_entity +* Contributors: robomic + +2.1.9 (2024-06-24) +------------------ + +2.1.8 (2024-06-20) +------------------ +* Merge branch 'master' into feature/simple_sensor_simulator_unit_test +* Merge branch 'master' into feature/simple_sensor_simulator_unit_test +* Contributors: Kotaro Yoshimoto, SzymonParapura + +2.1.7 (2024-06-19) +------------------ +* Merge branch 'master' into feature/improve-ros-parameter-handling +* Merge branch 'master' into feature/improve-ros-parameter-handling +* Contributors: Masaya Kataoka, Mateusz Palczuk + +2.1.6 (2024-06-18) +------------------ + +2.1.5 (2024-06-18) +------------------ + +2.1.4 (2024-06-14) +------------------ +* Merge branch 'master' into fix/remove_quaternion_operation +* Merge branch 'master' into fix/remove_quaternion_operation +* Contributors: Masaya Kataoka + +2.1.3 (2024-06-14) +------------------ +* Merge branch 'master' into fix/issue1276 +* Contributors: Masaya Kataoka + +2.1.2 (2024-06-13) +------------------ +* Merge branch 'master' into fix/interpreter/fault-injection-action +* Merge branch 'master' into fix/interpreter/fault-injection-action +* Merge branch 'master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge branch 'master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Contributors: Tatsuya Yamasaki, yamacir-kit + 2.1.1 (2024-06-11) ------------------ * Merge branch 'master' into fix/reorder diff --git a/openscenario/openscenario_interpreter_example/package.xml b/openscenario/openscenario_interpreter_example/package.xml index 95c3cb494f2..33d0bad1382 100644 --- a/openscenario/openscenario_interpreter_example/package.xml +++ b/openscenario/openscenario_interpreter_example/package.xml @@ -3,7 +3,7 @@ openscenario_interpreter_example - 2.1.1 + 2.2.2 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 b396433f5fe..1d3321783da 100644 --- a/openscenario/openscenario_interpreter_msgs/CHANGELOG.rst +++ b/openscenario/openscenario_interpreter_msgs/CHANGELOG.rst @@ -13,6 +13,80 @@ Changelog for package openscenario_interpreter_msgs * Merge branch 'master' into refactor/drop_workflow * Contributors: Kotaro Yoshimoto +2.2.2 (2024-06-28) +------------------ + +2.2.1 (2024-06-27) +------------------ +* Merge remote-tracking branch 'origin/master' into fix/issue1276-re +* Contributors: Masaya Kataoka + +2.2.0 (2024-06-24) +------------------ +* Merge branch 'master' into feature/clear_route_api +* Merge remote-tracking branch 'origin/master' into feature/clear_route_api +* Merge branch 'master' into feature/clear_route_api +* Merge branch 'master' into feature/clear_route_api +* Contributors: Masaya Kataoka, Taiga + +2.1.11 (2024-06-24) +------------------- +* Merge branch 'master' of github.com:tier4/scenario_simulator_v2 into feature/unit_tests/miscellaneous +* resolve merge confilct +* resolve merge +* Merge branch 'master' of github.com:tier4/scenario_simulator_v2 into feature/unit_tests/miscellaneous +* Contributors: robomic + +2.1.10 (2024-06-24) +------------------- +* Merge branch 'master' of github.com:tier4/scenario_simulator_v2 into feature/unit_tests/misc_object_entity +* Contributors: robomic + +2.1.9 (2024-06-24) +------------------ + +2.1.8 (2024-06-20) +------------------ +* Merge branch 'master' into feature/simple_sensor_simulator_unit_test +* Merge branch 'master' into feature/simple_sensor_simulator_unit_test +* Contributors: Kotaro Yoshimoto, SzymonParapura + +2.1.7 (2024-06-19) +------------------ +* Merge branch 'master' into feature/improve-ros-parameter-handling +* Merge branch 'master' into feature/improve-ros-parameter-handling +* Contributors: Masaya Kataoka, Mateusz Palczuk + +2.1.6 (2024-06-18) +------------------ + +2.1.5 (2024-06-18) +------------------ + +2.1.4 (2024-06-14) +------------------ +* Merge branch 'master' into fix/remove_quaternion_operation +* Merge branch 'master' into fix/remove_quaternion_operation +* Contributors: Masaya Kataoka + +2.1.3 (2024-06-14) +------------------ +* Merge branch 'master' into fix/issue1276 +* Contributors: Masaya Kataoka + +2.1.2 (2024-06-13) +------------------ +* Merge branch 'master' into fix/interpreter/fault-injection-action +* Merge branch 'master' into fix/interpreter/fault-injection-action +* Merge branch 'master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge branch 'master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Contributors: Tatsuya Yamasaki, yamacir-kit + 2.1.1 (2024-06-11) ------------------ * Merge branch 'master' into fix/reorder diff --git a/openscenario/openscenario_interpreter_msgs/package.xml b/openscenario/openscenario_interpreter_msgs/package.xml index 90b116f3fb4..1763b81f992 100644 --- a/openscenario/openscenario_interpreter_msgs/package.xml +++ b/openscenario/openscenario_interpreter_msgs/package.xml @@ -2,7 +2,7 @@ openscenario_interpreter_msgs - 2.1.1 + 2.2.2 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 9c81e7eb4b1..42ae7cbb048 100644 --- a/openscenario/openscenario_preprocessor/CHANGELOG.rst +++ b/openscenario/openscenario_preprocessor/CHANGELOG.rst @@ -13,6 +13,82 @@ Changelog for package openscenario_preprocessor * Merge branch 'master' into refactor/drop_workflow * Contributors: Kotaro Yoshimoto +2.2.2 (2024-06-28) +------------------ + +2.2.1 (2024-06-27) +------------------ +* Merge remote-tracking branch 'origin/master' into fix/issue1276-re +* Contributors: Masaya Kataoka + +2.2.0 (2024-06-24) +------------------ +* Merge branch 'master' into feature/clear_route_api +* Merge remote-tracking branch 'origin/master' into feature/clear_route_api +* Merge branch 'master' into feature/clear_route_api +* Merge branch 'master' into feature/clear_route_api +* Contributors: Masaya Kataoka, Taiga + +2.1.11 (2024-06-24) +------------------- +* Merge branch 'master' of github.com:tier4/scenario_simulator_v2 into feature/unit_tests/miscellaneous +* resolve merge confilct +* resolve merge +* Merge branch 'master' of github.com:tier4/scenario_simulator_v2 into feature/unit_tests/miscellaneous +* Contributors: robomic + +2.1.10 (2024-06-24) +------------------- +* Merge branch 'master' of github.com:tier4/scenario_simulator_v2 into feature/unit_tests/misc_object_entity +* Contributors: robomic + +2.1.9 (2024-06-24) +------------------ + +2.1.8 (2024-06-20) +------------------ +* Merge branch 'master' into feature/simple_sensor_simulator_unit_test +* Merge branch 'master' into feature/simple_sensor_simulator_unit_test +* Contributors: Kotaro Yoshimoto, SzymonParapura + +2.1.7 (2024-06-19) +------------------ +* Merge branch 'master' into feature/improve-ros-parameter-handling +* Merge branch 'master' into feature/improve-ros-parameter-handling +* Contributors: Masaya Kataoka, Mateusz Palczuk + +2.1.6 (2024-06-18) +------------------ + +2.1.5 (2024-06-18) +------------------ + +2.1.4 (2024-06-14) +------------------ +* Merge branch 'master' into fix/remove_quaternion_operation +* Merge branch 'master' into fix/remove_quaternion_operation +* Contributors: Masaya Kataoka + +2.1.3 (2024-06-14) +------------------ +* Merge branch 'master' into fix/issue1276 +* Contributors: Masaya Kataoka + +2.1.2 (2024-06-13) +------------------ +* Merge branch 'master' into fix/interpreter/fault-injection-action +* Merge branch 'master' into fix/interpreter/fault-injection-action +* Merge branch 'master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge branch 'master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Contributors: Tatsuya Yamasaki, yamacir-kit + 2.1.1 (2024-06-11) ------------------ * Merge branch 'master' into fix/reorder diff --git a/openscenario/openscenario_preprocessor/package.xml b/openscenario/openscenario_preprocessor/package.xml index 426173bef33..7d7b11326b6 100644 --- a/openscenario/openscenario_preprocessor/package.xml +++ b/openscenario/openscenario_preprocessor/package.xml @@ -3,7 +3,7 @@ openscenario_preprocessor - 2.1.1 + 2.2.2 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 f71febe9521..ebcfc366542 100644 --- a/openscenario/openscenario_preprocessor_msgs/CHANGELOG.rst +++ b/openscenario/openscenario_preprocessor_msgs/CHANGELOG.rst @@ -13,6 +13,81 @@ Changelog for package openscenario_preprocessor_msgs * Merge branch 'master' into refactor/drop_workflow * Contributors: Kotaro Yoshimoto +2.2.2 (2024-06-28) +------------------ + +2.2.1 (2024-06-27) +------------------ +* Merge remote-tracking branch 'origin/master' into fix/issue1276-re +* Contributors: Masaya Kataoka + +2.2.0 (2024-06-24) +------------------ +* Merge branch 'master' into feature/clear_route_api +* Merge remote-tracking branch 'origin/master' into feature/clear_route_api +* Merge branch 'master' into feature/clear_route_api +* Merge branch 'master' into feature/clear_route_api +* Contributors: Masaya Kataoka, Taiga + +2.1.11 (2024-06-24) +------------------- +* Merge branch 'master' of github.com:tier4/scenario_simulator_v2 into feature/unit_tests/miscellaneous +* resolve merge confilct +* resolve merge +* Merge branch 'master' of github.com:tier4/scenario_simulator_v2 into feature/unit_tests/miscellaneous +* Contributors: robomic + +2.1.10 (2024-06-24) +------------------- +* Merge branch 'master' of github.com:tier4/scenario_simulator_v2 into feature/unit_tests/misc_object_entity +* Contributors: robomic + +2.1.9 (2024-06-24) +------------------ + +2.1.8 (2024-06-20) +------------------ +* Merge branch 'master' into feature/simple_sensor_simulator_unit_test +* Merge branch 'master' into feature/simple_sensor_simulator_unit_test +* Contributors: Kotaro Yoshimoto, SzymonParapura + +2.1.7 (2024-06-19) +------------------ +* Merge branch 'master' into feature/improve-ros-parameter-handling +* Merge branch 'master' into feature/improve-ros-parameter-handling +* Contributors: Masaya Kataoka, Mateusz Palczuk + +2.1.6 (2024-06-18) +------------------ + +2.1.5 (2024-06-18) +------------------ + +2.1.4 (2024-06-14) +------------------ +* Merge branch 'master' into fix/remove_quaternion_operation +* Merge branch 'master' into fix/remove_quaternion_operation +* Contributors: Masaya Kataoka + +2.1.3 (2024-06-14) +------------------ +* Merge branch 'master' into fix/issue1276 +* Contributors: Masaya Kataoka + +2.1.2 (2024-06-13) +------------------ +* Merge branch 'master' into fix/interpreter/fault-injection-action +* Merge branch 'master' into fix/interpreter/fault-injection-action +* Merge branch 'master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge branch 'master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Contributors: Tatsuya Yamasaki, yamacir-kit + 2.1.1 (2024-06-11) ------------------ * Merge branch 'master' into fix/reorder diff --git a/openscenario/openscenario_preprocessor_msgs/package.xml b/openscenario/openscenario_preprocessor_msgs/package.xml index f62a2ae8063..fee84e73d6a 100644 --- a/openscenario/openscenario_preprocessor_msgs/package.xml +++ b/openscenario/openscenario_preprocessor_msgs/package.xml @@ -2,7 +2,7 @@ openscenario_preprocessor_msgs - 2.1.1 + 2.2.2 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 5d752088053..c908bfc1151 100644 --- a/openscenario/openscenario_utility/CHANGELOG.rst +++ b/openscenario/openscenario_utility/CHANGELOG.rst @@ -16,6 +16,80 @@ Changelog for package openscenario_utility * refactor: delete workflow.Workflow and rename workflow.py to scenario.py * Contributors: Kotaro Yoshimoto, Tatsuya Yamasaki +2.2.2 (2024-06-28) +------------------ + +2.2.1 (2024-06-27) +------------------ +* Merge remote-tracking branch 'origin/master' into fix/issue1276-re +* Contributors: Masaya Kataoka + +2.2.0 (2024-06-24) +------------------ +* Merge branch 'master' into feature/clear_route_api +* Merge remote-tracking branch 'origin/master' into feature/clear_route_api +* Merge branch 'master' into feature/clear_route_api +* Merge branch 'master' into feature/clear_route_api +* Contributors: Masaya Kataoka, Taiga + +2.1.11 (2024-06-24) +------------------- +* Merge branch 'master' of github.com:tier4/scenario_simulator_v2 into feature/unit_tests/miscellaneous +* resolve merge confilct +* resolve merge +* Merge branch 'master' of github.com:tier4/scenario_simulator_v2 into feature/unit_tests/miscellaneous +* Contributors: robomic + +2.1.10 (2024-06-24) +------------------- +* Merge branch 'master' of github.com:tier4/scenario_simulator_v2 into feature/unit_tests/misc_object_entity +* Contributors: robomic + +2.1.9 (2024-06-24) +------------------ + +2.1.8 (2024-06-20) +------------------ +* Merge branch 'master' into feature/simple_sensor_simulator_unit_test +* Merge branch 'master' into feature/simple_sensor_simulator_unit_test +* Contributors: Kotaro Yoshimoto, SzymonParapura + +2.1.7 (2024-06-19) +------------------ +* Merge branch 'master' into feature/improve-ros-parameter-handling +* Merge branch 'master' into feature/improve-ros-parameter-handling +* Contributors: Masaya Kataoka, Mateusz Palczuk + +2.1.6 (2024-06-18) +------------------ + +2.1.5 (2024-06-18) +------------------ + +2.1.4 (2024-06-14) +------------------ +* Merge branch 'master' into fix/remove_quaternion_operation +* Merge branch 'master' into fix/remove_quaternion_operation +* Contributors: Masaya Kataoka + +2.1.3 (2024-06-14) +------------------ +* Merge branch 'master' into fix/issue1276 +* Contributors: Masaya Kataoka + +2.1.2 (2024-06-13) +------------------ +* Merge branch 'master' into fix/interpreter/fault-injection-action +* Merge branch 'master' into fix/interpreter/fault-injection-action +* Merge branch 'master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge branch 'master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Contributors: Tatsuya Yamasaki, yamacir-kit + 2.1.1 (2024-06-11) ------------------ * Merge branch 'master' into fix/reorder diff --git a/openscenario/openscenario_utility/package.xml b/openscenario/openscenario_utility/package.xml index 91c10be90ae..ea1f8237e92 100644 --- a/openscenario/openscenario_utility/package.xml +++ b/openscenario/openscenario_utility/package.xml @@ -2,7 +2,7 @@ openscenario_utility - 2.1.1 + 2.2.2 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 b60366f87f4..836d132e539 100644 --- a/openscenario/openscenario_validator/CHANGELOG.rst +++ b/openscenario/openscenario_validator/CHANGELOG.rst @@ -2,6 +2,75 @@ Changelog for package openscenario_validator ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +2.2.2 (2024-06-28) +------------------ + +2.2.1 (2024-06-27) +------------------ +* Merge remote-tracking branch 'origin/master' into fix/issue1276-re +* Contributors: Masaya Kataoka + +2.2.0 (2024-06-24) +------------------ +* Merge branch 'master' into feature/clear_route_api +* Merge remote-tracking branch 'origin/master' into feature/clear_route_api +* Merge branch 'master' into feature/clear_route_api +* Merge branch 'master' into feature/clear_route_api +* Contributors: Masaya Kataoka, Taiga + +2.1.11 (2024-06-24) +------------------- +* Merge branch 'master' of github.com:tier4/scenario_simulator_v2 into feature/unit_tests/miscellaneous +* resolve merge confilct +* resolve merge +* Merge branch 'master' of github.com:tier4/scenario_simulator_v2 into feature/unit_tests/miscellaneous +* Contributors: robomic + +2.1.10 (2024-06-24) +------------------- +* Merge branch 'master' of github.com:tier4/scenario_simulator_v2 into feature/unit_tests/misc_object_entity +* Contributors: robomic + +2.1.9 (2024-06-24) +------------------ + +2.1.8 (2024-06-20) +------------------ +* Merge branch 'master' into feature/simple_sensor_simulator_unit_test +* Merge branch 'master' into feature/simple_sensor_simulator_unit_test +* Contributors: Kotaro Yoshimoto, SzymonParapura + +2.1.7 (2024-06-19) +------------------ +* Merge branch 'master' into feature/improve-ros-parameter-handling +* Merge branch 'master' into feature/improve-ros-parameter-handling +* Contributors: Masaya Kataoka, Mateusz Palczuk + +2.1.6 (2024-06-18) +------------------ + +2.1.5 (2024-06-18) +------------------ + +2.1.4 (2024-06-14) +------------------ +* Merge branch 'master' into fix/remove_quaternion_operation +* Merge branch 'master' into fix/remove_quaternion_operation +* Contributors: Masaya Kataoka + +2.1.3 (2024-06-14) +------------------ +* Merge branch 'master' into fix/issue1276 +* Contributors: Masaya Kataoka + +2.1.2 (2024-06-13) +------------------ +* Merge branch 'master' into fix/interpreter/fault-injection-action +* Merge branch 'master' into fix/interpreter/fault-injection-action +* Merge branch 'master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Contributors: Tatsuya Yamasaki, yamacir-kit + 2.1.1 (2024-06-11) ------------------ * Merge branch 'master' into fix/reorder diff --git a/openscenario/openscenario_validator/package.xml b/openscenario/openscenario_validator/package.xml index 440094b65d3..b3629608897 100644 --- a/openscenario/openscenario_validator/package.xml +++ b/openscenario/openscenario_validator/package.xml @@ -2,7 +2,7 @@ openscenario_validator - 2.1.1 + 2.2.2 Validator for OpenSCENARIO 1.3 Kotaro Yoshimoto Apache License 2.0 diff --git a/poetry.lock b/poetry.lock index 75b31ee16f2..536d6227fad 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1,4 +1,4 @@ -# This file is automatically @generated by Poetry 1.8.2 and should not be changed by hand. +# This file is automatically @generated by Poetry 1.8.3 and should not be changed by hand. [[package]] name = "babel" @@ -47,13 +47,13 @@ test = ["flake8", "flake8-blind-except", "flake8-builtins", "flake8-class-newlin [[package]] name = "certifi" -version = "2024.2.2" +version = "2024.6.2" description = "Python package for providing Mozilla's CA Bundle." optional = false python-versions = ">=3.6" files = [ - {file = "certifi-2024.2.2-py3-none-any.whl", hash = "sha256:dc383c07b76109f368f6106eee2b593b04a011ea4d55f652c6ca24a754d1cdd1"}, - {file = "certifi-2024.2.2.tar.gz", hash = "sha256:0569859f95fc761b18b45ef421b1290a0f65f147e92a1e5eb3e635f9a5e4e66f"}, + {file = "certifi-2024.6.2-py3-none-any.whl", hash = "sha256:ddc6c8ce995e6987e7faf5e3f1b02b302836a0e5d98ece18392cb1a36c72ad56"}, + {file = "certifi-2024.6.2.tar.gz", hash = "sha256:3cd43f1c6fa7dedc5899d69d3ad0398fd018ad1a17fba83ddaf78aa46c747516"}, ] [[package]] @@ -452,13 +452,13 @@ pygments = ">=2.9.0" [[package]] name = "mkdocs-git-revision-date-localized-plugin" -version = "1.2.5" +version = "1.2.6" description = "Mkdocs plugin that enables displaying the localized date of the last git modification of a markdown file." optional = false python-versions = ">=3.8" files = [ - {file = "mkdocs_git_revision_date_localized_plugin-1.2.5-py3-none-any.whl", hash = "sha256:d796a18b07cfcdb154c133e3ec099d2bb5f38389e4fd54d3eb516a8a736815b8"}, - {file = "mkdocs_git_revision_date_localized_plugin-1.2.5.tar.gz", hash = "sha256:0c439816d9d0dba48e027d9d074b2b9f1d7cd179f74ba46b51e4da7bb3dc4b9b"}, + {file = "mkdocs_git_revision_date_localized_plugin-1.2.6-py3-none-any.whl", hash = "sha256:f015cb0f3894a39b33447b18e270ae391c4e25275cac5a626e80b243784e2692"}, + {file = "mkdocs_git_revision_date_localized_plugin-1.2.6.tar.gz", hash = "sha256:e432942ce4ee8aa9b9f4493e993dee9d2cc08b3ea2b40a3d6b03ca0f2a4bcaa2"}, ] [package.dependencies] @@ -515,6 +515,7 @@ optional = false python-versions = ">=3.6" files = [ {file = "mkdocs-redirects-1.2.1.tar.gz", hash = "sha256:9420066d70e2a6bb357adf86e67023dcdca1857f97f07c7fe450f8f1fb42f861"}, + {file = "mkdocs_redirects-1.2.1-py3-none-any.whl", hash = "sha256:497089f9e0219e7389304cffefccdfa1cac5ff9509f2cb706f4c9b221726dffb"}, ] [package.dependencies] @@ -542,13 +543,13 @@ icu = ["PyICU (>=1.0.0)"] [[package]] name = "packaging" -version = "24.0" +version = "24.1" description = "Core utilities for Python packages" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "packaging-24.0-py3-none-any.whl", hash = "sha256:2ddfb553fdf02fb784c234c7ba6ccc288296ceabec964ad2eae3777778130bc5"}, - {file = "packaging-24.0.tar.gz", hash = "sha256:eb82c5e3e56209074766e6885bb04b8c38a0c015d0a30036ebe7ece34c9989e9"}, + {file = "packaging-24.1-py3-none-any.whl", hash = "sha256:5b8f2217dbdbd2f7f384c41c628544e6d52f2d0f53c6d0c3ea61aa5d1d7ff124"}, + {file = "packaging-24.1.tar.gz", hash = "sha256:026ed72c8ed3fcce5bf8950572258698927fd1dbda10a5e981cdf0ac37f4f002"}, ] [[package]] @@ -587,13 +588,13 @@ httplib2 = "*" [[package]] name = "plantuml-markdown" -version = "3.9.6" +version = "3.9.7" description = "A PlantUML plugin for Markdown" optional = false python-versions = "*" files = [ - {file = "plantuml-markdown-3.9.6.tar.gz", hash = "sha256:65bfa22c030e5250374f54d3f3e342fdd98314d64ab2869b7d106a0b1dbb2fed"}, - {file = "plantuml_markdown-3.9.6-py3-none-any.whl", hash = "sha256:46ec054c652c4026dd37060df9bdec57e2677a33b53b3d363186fd2fe6457060"}, + {file = "plantuml-markdown-3.9.7.tar.gz", hash = "sha256:8ee5b08ad40ebfa33e5f768ca0108e707b67abcbafb3060a9a6794c4fc0fca99"}, + {file = "plantuml_markdown-3.9.7-py3-none-any.whl", hash = "sha256:beff4f9f33d3718159077a8b3e10804c7c26599c9a621bf769cd71a3d5059cc0"}, ] [package.dependencies] @@ -603,13 +604,13 @@ six = "*" [[package]] name = "platformdirs" -version = "4.2.1" +version = "4.2.2" description = "A small Python package for determining appropriate platform-specific dirs, e.g. a `user data dir`." optional = false python-versions = ">=3.8" files = [ - {file = "platformdirs-4.2.1-py3-none-any.whl", hash = "sha256:17d5a1161b3fd67b390023cb2d3b026bbd40abde6fdb052dfbd3a29c3ba22ee1"}, - {file = "platformdirs-4.2.1.tar.gz", hash = "sha256:031cd18d4ec63ec53e82dceaac0417d218a6863f7745dfcc9efe7793b7039bdf"}, + {file = "platformdirs-4.2.2-py3-none-any.whl", hash = "sha256:2d7a1657e36a80ea911db832a8a6ece5ee53d8de21edd5cc5879af6530b1bfee"}, + {file = "platformdirs-4.2.2.tar.gz", hash = "sha256:38b7b51f512eed9e84a22788b4bce1de17c0adb134d6becb09836e37d8654cd3"}, ] [package.extras] @@ -778,101 +779,101 @@ pyyaml = "*" [[package]] name = "regex" -version = "2024.4.28" +version = "2024.5.15" description = "Alternative regular expression module, to replace re." optional = false python-versions = ">=3.8" files = [ - {file = "regex-2024.4.28-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:cd196d056b40af073d95a2879678585f0b74ad35190fac04ca67954c582c6b61"}, - {file = "regex-2024.4.28-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:8bb381f777351bd534462f63e1c6afb10a7caa9fa2a421ae22c26e796fe31b1f"}, - {file = "regex-2024.4.28-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:47af45b6153522733aa6e92543938e97a70ce0900649ba626cf5aad290b737b6"}, - {file = "regex-2024.4.28-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:99d6a550425cc51c656331af0e2b1651e90eaaa23fb4acde577cf15068e2e20f"}, - {file = "regex-2024.4.28-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:bf29304a8011feb58913c382902fde3395957a47645bf848eea695839aa101b7"}, - {file = "regex-2024.4.28-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:92da587eee39a52c91aebea8b850e4e4f095fe5928d415cb7ed656b3460ae79a"}, - {file = "regex-2024.4.28-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6277d426e2f31bdbacb377d17a7475e32b2d7d1f02faaecc48d8e370c6a3ff31"}, - {file = "regex-2024.4.28-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:28e1f28d07220c0f3da0e8fcd5a115bbb53f8b55cecf9bec0c946eb9a059a94c"}, - {file = "regex-2024.4.28-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:aaa179975a64790c1f2701ac562b5eeb733946eeb036b5bcca05c8d928a62f10"}, - {file = "regex-2024.4.28-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:6f435946b7bf7a1b438b4e6b149b947c837cb23c704e780c19ba3e6855dbbdd3"}, - {file = "regex-2024.4.28-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:19d6c11bf35a6ad077eb23852827f91c804eeb71ecb85db4ee1386825b9dc4db"}, - {file = "regex-2024.4.28-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:fdae0120cddc839eb8e3c15faa8ad541cc6d906d3eb24d82fb041cfe2807bc1e"}, - {file = "regex-2024.4.28-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:e672cf9caaf669053121f1766d659a8813bd547edef6e009205378faf45c67b8"}, - {file = "regex-2024.4.28-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:f57515750d07e14743db55d59759893fdb21d2668f39e549a7d6cad5d70f9fea"}, - {file = "regex-2024.4.28-cp310-cp310-win32.whl", hash = "sha256:a1409c4eccb6981c7baabc8888d3550df518add6e06fe74fa1d9312c1838652d"}, - {file = "regex-2024.4.28-cp310-cp310-win_amd64.whl", hash = "sha256:1f687a28640f763f23f8a9801fe9e1b37338bb1ca5d564ddd41619458f1f22d1"}, - {file = "regex-2024.4.28-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:84077821c85f222362b72fdc44f7a3a13587a013a45cf14534df1cbbdc9a6796"}, - {file = "regex-2024.4.28-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:b45d4503de8f4f3dc02f1d28a9b039e5504a02cc18906cfe744c11def942e9eb"}, - {file = "regex-2024.4.28-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:457c2cd5a646dd4ed536c92b535d73548fb8e216ebee602aa9f48e068fc393f3"}, - {file = "regex-2024.4.28-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2b51739ddfd013c6f657b55a508de8b9ea78b56d22b236052c3a85a675102dc6"}, - {file = "regex-2024.4.28-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:459226445c7d7454981c4c0ce0ad1a72e1e751c3e417f305722bbcee6697e06a"}, - {file = "regex-2024.4.28-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:670fa596984b08a4a769491cbdf22350431970d0112e03d7e4eeaecaafcd0fec"}, - {file = "regex-2024.4.28-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fe00f4fe11c8a521b173e6324d862ee7ee3412bf7107570c9b564fe1119b56fb"}, - {file = "regex-2024.4.28-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:36f392dc7763fe7924575475736bddf9ab9f7a66b920932d0ea50c2ded2f5636"}, - {file = "regex-2024.4.28-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:23a412b7b1a7063f81a742463f38821097b6a37ce1e5b89dd8e871d14dbfd86b"}, - {file = "regex-2024.4.28-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:f1d6e4b7b2ae3a6a9df53efbf199e4bfcff0959dbdb5fd9ced34d4407348e39a"}, - {file = "regex-2024.4.28-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:499334ad139557de97cbc4347ee921c0e2b5e9c0f009859e74f3f77918339257"}, - {file = "regex-2024.4.28-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:0940038bec2fe9e26b203d636c44d31dd8766abc1fe66262da6484bd82461ccf"}, - {file = "regex-2024.4.28-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:66372c2a01782c5fe8e04bff4a2a0121a9897e19223d9eab30c54c50b2ebeb7f"}, - {file = "regex-2024.4.28-cp311-cp311-win32.whl", hash = "sha256:c77d10ec3c1cf328b2f501ca32583625987ea0f23a0c2a49b37a39ee5c4c4630"}, - {file = "regex-2024.4.28-cp311-cp311-win_amd64.whl", hash = "sha256:fc0916c4295c64d6890a46e02d4482bb5ccf33bf1a824c0eaa9e83b148291f90"}, - {file = "regex-2024.4.28-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:08a1749f04fee2811c7617fdd46d2e46d09106fa8f475c884b65c01326eb15c5"}, - {file = "regex-2024.4.28-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:b8eb28995771c087a73338f695a08c9abfdf723d185e57b97f6175c5051ff1ae"}, - {file = "regex-2024.4.28-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:dd7ef715ccb8040954d44cfeff17e6b8e9f79c8019daae2fd30a8806ef5435c0"}, - {file = "regex-2024.4.28-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fb0315a2b26fde4005a7c401707c5352df274460f2f85b209cf6024271373013"}, - {file = "regex-2024.4.28-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f2fc053228a6bd3a17a9b0a3f15c3ab3cf95727b00557e92e1cfe094b88cc662"}, - {file = "regex-2024.4.28-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7fe9739a686dc44733d52d6e4f7b9c77b285e49edf8570754b322bca6b85b4cc"}, - {file = "regex-2024.4.28-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a74fcf77d979364f9b69fcf8200849ca29a374973dc193a7317698aa37d8b01c"}, - {file = "regex-2024.4.28-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:965fd0cf4694d76f6564896b422724ec7b959ef927a7cb187fc6b3f4e4f59833"}, - {file = "regex-2024.4.28-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:2fef0b38c34ae675fcbb1b5db760d40c3fc3612cfa186e9e50df5782cac02bcd"}, - {file = "regex-2024.4.28-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:bc365ce25f6c7c5ed70e4bc674f9137f52b7dd6a125037f9132a7be52b8a252f"}, - {file = "regex-2024.4.28-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:ac69b394764bb857429b031d29d9604842bc4cbfd964d764b1af1868eeebc4f0"}, - {file = "regex-2024.4.28-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:144a1fc54765f5c5c36d6d4b073299832aa1ec6a746a6452c3ee7b46b3d3b11d"}, - {file = "regex-2024.4.28-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:2630ca4e152c221072fd4a56d4622b5ada876f668ecd24d5ab62544ae6793ed6"}, - {file = "regex-2024.4.28-cp312-cp312-win32.whl", hash = "sha256:7f3502f03b4da52bbe8ba962621daa846f38489cae5c4a7b5d738f15f6443d17"}, - {file = "regex-2024.4.28-cp312-cp312-win_amd64.whl", hash = "sha256:0dd3f69098511e71880fb00f5815db9ed0ef62c05775395968299cb400aeab82"}, - {file = "regex-2024.4.28-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:374f690e1dd0dbdcddea4a5c9bdd97632cf656c69113f7cd6a361f2a67221cb6"}, - {file = "regex-2024.4.28-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:25f87ae6b96374db20f180eab083aafe419b194e96e4f282c40191e71980c666"}, - {file = "regex-2024.4.28-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:5dbc1bcc7413eebe5f18196e22804a3be1bfdfc7e2afd415e12c068624d48247"}, - {file = "regex-2024.4.28-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f85151ec5a232335f1be022b09fbbe459042ea1951d8a48fef251223fc67eee1"}, - {file = "regex-2024.4.28-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:57ba112e5530530fd175ed550373eb263db4ca98b5f00694d73b18b9a02e7185"}, - {file = "regex-2024.4.28-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:224803b74aab56aa7be313f92a8d9911dcade37e5f167db62a738d0c85fdac4b"}, - {file = "regex-2024.4.28-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0a54a047b607fd2d2d52a05e6ad294602f1e0dec2291152b745870afc47c1397"}, - {file = "regex-2024.4.28-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0a2a512d623f1f2d01d881513af9fc6a7c46e5cfffb7dc50c38ce959f9246c94"}, - {file = "regex-2024.4.28-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:c06bf3f38f0707592898428636cbb75d0a846651b053a1cf748763e3063a6925"}, - {file = "regex-2024.4.28-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:1031a5e7b048ee371ab3653aad3030ecfad6ee9ecdc85f0242c57751a05b0ac4"}, - {file = "regex-2024.4.28-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:d7a353ebfa7154c871a35caca7bfd8f9e18666829a1dc187115b80e35a29393e"}, - {file = "regex-2024.4.28-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:7e76b9cfbf5ced1aca15a0e5b6f229344d9b3123439ffce552b11faab0114a02"}, - {file = "regex-2024.4.28-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:5ce479ecc068bc2a74cb98dd8dba99e070d1b2f4a8371a7dfe631f85db70fe6e"}, - {file = "regex-2024.4.28-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:7d77b6f63f806578c604dca209280e4c54f0fa9a8128bb8d2cc5fb6f99da4150"}, - {file = "regex-2024.4.28-cp38-cp38-win32.whl", hash = "sha256:d84308f097d7a513359757c69707ad339da799e53b7393819ec2ea36bc4beb58"}, - {file = "regex-2024.4.28-cp38-cp38-win_amd64.whl", hash = "sha256:2cc1b87bba1dd1a898e664a31012725e48af826bf3971e786c53e32e02adae6c"}, - {file = "regex-2024.4.28-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:7413167c507a768eafb5424413c5b2f515c606be5bb4ef8c5dee43925aa5718b"}, - {file = "regex-2024.4.28-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:108e2dcf0b53a7c4ab8986842a8edcb8ab2e59919a74ff51c296772e8e74d0ae"}, - {file = "regex-2024.4.28-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:f1c5742c31ba7d72f2dedf7968998730664b45e38827637e0f04a2ac7de2f5f1"}, - {file = "regex-2024.4.28-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ecc6148228c9ae25ce403eade13a0961de1cb016bdb35c6eafd8e7b87ad028b1"}, - {file = "regex-2024.4.28-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b7d893c8cf0e2429b823ef1a1d360a25950ed11f0e2a9df2b5198821832e1947"}, - {file = "regex-2024.4.28-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4290035b169578ffbbfa50d904d26bec16a94526071ebec3dadbebf67a26b25e"}, - {file = "regex-2024.4.28-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:44a22ae1cfd82e4ffa2066eb3390777dc79468f866f0625261a93e44cdf6482b"}, - {file = "regex-2024.4.28-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:fd24fd140b69f0b0bcc9165c397e9b2e89ecbeda83303abf2a072609f60239e2"}, - {file = "regex-2024.4.28-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:39fb166d2196413bead229cd64a2ffd6ec78ebab83fff7d2701103cf9f4dfd26"}, - {file = "regex-2024.4.28-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:9301cc6db4d83d2c0719f7fcda37229691745168bf6ae849bea2e85fc769175d"}, - {file = "regex-2024.4.28-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:7c3d389e8d76a49923683123730c33e9553063d9041658f23897f0b396b2386f"}, - {file = "regex-2024.4.28-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:99ef6289b62042500d581170d06e17f5353b111a15aa6b25b05b91c6886df8fc"}, - {file = "regex-2024.4.28-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:b91d529b47798c016d4b4c1d06cc826ac40d196da54f0de3c519f5a297c5076a"}, - {file = "regex-2024.4.28-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:43548ad74ea50456e1c68d3c67fff3de64c6edb85bcd511d1136f9b5376fc9d1"}, - {file = "regex-2024.4.28-cp39-cp39-win32.whl", hash = "sha256:05d9b6578a22db7dedb4df81451f360395828b04f4513980b6bd7a1412c679cc"}, - {file = "regex-2024.4.28-cp39-cp39-win_amd64.whl", hash = "sha256:3986217ec830c2109875be740531feb8ddafe0dfa49767cdcd072ed7e8927962"}, - {file = "regex-2024.4.28.tar.gz", hash = "sha256:83ab366777ea45d58f72593adf35d36ca911ea8bd838483c1823b883a121b0e4"}, + {file = "regex-2024.5.15-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:a81e3cfbae20378d75185171587cbf756015ccb14840702944f014e0d93ea09f"}, + {file = "regex-2024.5.15-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:7b59138b219ffa8979013be7bc85bb60c6f7b7575df3d56dc1e403a438c7a3f6"}, + {file = "regex-2024.5.15-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:a0bd000c6e266927cb7a1bc39d55be95c4b4f65c5be53e659537537e019232b1"}, + {file = "regex-2024.5.15-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5eaa7ddaf517aa095fa8da0b5015c44d03da83f5bd49c87961e3c997daed0de7"}, + {file = "regex-2024.5.15-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ba68168daedb2c0bab7fd7e00ced5ba90aebf91024dea3c88ad5063c2a562cca"}, + {file = "regex-2024.5.15-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:6e8d717bca3a6e2064fc3a08df5cbe366369f4b052dcd21b7416e6d71620dca1"}, + {file = "regex-2024.5.15-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1337b7dbef9b2f71121cdbf1e97e40de33ff114801263b275aafd75303bd62b5"}, + {file = "regex-2024.5.15-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f9ebd0a36102fcad2f03696e8af4ae682793a5d30b46c647eaf280d6cfb32796"}, + {file = "regex-2024.5.15-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:9efa1a32ad3a3ea112224897cdaeb6aa00381627f567179c0314f7b65d354c62"}, + {file = "regex-2024.5.15-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:1595f2d10dff3d805e054ebdc41c124753631b6a471b976963c7b28543cf13b0"}, + {file = "regex-2024.5.15-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:b802512f3e1f480f41ab5f2cfc0e2f761f08a1f41092d6718868082fc0d27143"}, + {file = "regex-2024.5.15-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:a0981022dccabca811e8171f913de05720590c915b033b7e601f35ce4ea7019f"}, + {file = "regex-2024.5.15-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:19068a6a79cf99a19ccefa44610491e9ca02c2be3305c7760d3831d38a467a6f"}, + {file = "regex-2024.5.15-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:1b5269484f6126eee5e687785e83c6b60aad7663dafe842b34691157e5083e53"}, + {file = "regex-2024.5.15-cp310-cp310-win32.whl", hash = "sha256:ada150c5adfa8fbcbf321c30c751dc67d2f12f15bd183ffe4ec7cde351d945b3"}, + {file = "regex-2024.5.15-cp310-cp310-win_amd64.whl", hash = "sha256:ac394ff680fc46b97487941f5e6ae49a9f30ea41c6c6804832063f14b2a5a145"}, + {file = "regex-2024.5.15-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:f5b1dff3ad008dccf18e652283f5e5339d70bf8ba7c98bf848ac33db10f7bc7a"}, + {file = "regex-2024.5.15-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c6a2b494a76983df8e3d3feea9b9ffdd558b247e60b92f877f93a1ff43d26656"}, + {file = "regex-2024.5.15-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:a32b96f15c8ab2e7d27655969a23895eb799de3665fa94349f3b2fbfd547236f"}, + {file = "regex-2024.5.15-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:10002e86e6068d9e1c91eae8295ef690f02f913c57db120b58fdd35a6bb1af35"}, + {file = "regex-2024.5.15-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ec54d5afa89c19c6dd8541a133be51ee1017a38b412b1321ccb8d6ddbeb4cf7d"}, + {file = "regex-2024.5.15-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:10e4ce0dca9ae7a66e6089bb29355d4432caed736acae36fef0fdd7879f0b0cb"}, + {file = "regex-2024.5.15-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3e507ff1e74373c4d3038195fdd2af30d297b4f0950eeda6f515ae3d84a1770f"}, + {file = "regex-2024.5.15-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d1f059a4d795e646e1c37665b9d06062c62d0e8cc3c511fe01315973a6542e40"}, + {file = "regex-2024.5.15-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:0721931ad5fe0dda45d07f9820b90b2148ccdd8e45bb9e9b42a146cb4f695649"}, + {file = "regex-2024.5.15-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:833616ddc75ad595dee848ad984d067f2f31be645d603e4d158bba656bbf516c"}, + {file = "regex-2024.5.15-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:287eb7f54fc81546346207c533ad3c2c51a8d61075127d7f6d79aaf96cdee890"}, + {file = "regex-2024.5.15-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:19dfb1c504781a136a80ecd1fff9f16dddf5bb43cec6871778c8a907a085bb3d"}, + {file = "regex-2024.5.15-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:119af6e56dce35e8dfb5222573b50c89e5508d94d55713c75126b753f834de68"}, + {file = "regex-2024.5.15-cp311-cp311-win32.whl", hash = "sha256:1c1c174d6ec38d6c8a7504087358ce9213d4332f6293a94fbf5249992ba54efa"}, + {file = "regex-2024.5.15-cp311-cp311-win_amd64.whl", hash = "sha256:9e717956dcfd656f5055cc70996ee2cc82ac5149517fc8e1b60261b907740201"}, + {file = "regex-2024.5.15-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:632b01153e5248c134007209b5c6348a544ce96c46005d8456de1d552455b014"}, + {file = "regex-2024.5.15-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:e64198f6b856d48192bf921421fdd8ad8eb35e179086e99e99f711957ffedd6e"}, + {file = "regex-2024.5.15-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:68811ab14087b2f6e0fc0c2bae9ad689ea3584cad6917fc57be6a48bbd012c49"}, + {file = "regex-2024.5.15-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f8ec0c2fea1e886a19c3bee0cd19d862b3aa75dcdfb42ebe8ed30708df64687a"}, + {file = "regex-2024.5.15-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d0c0c0003c10f54a591d220997dd27d953cd9ccc1a7294b40a4be5312be8797b"}, + {file = "regex-2024.5.15-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2431b9e263af1953c55abbd3e2efca67ca80a3de8a0437cb58e2421f8184717a"}, + {file = "regex-2024.5.15-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4a605586358893b483976cffc1723fb0f83e526e8f14c6e6614e75919d9862cf"}, + {file = "regex-2024.5.15-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:391d7f7f1e409d192dba8bcd42d3e4cf9e598f3979cdaed6ab11288da88cb9f2"}, + {file = "regex-2024.5.15-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:9ff11639a8d98969c863d4617595eb5425fd12f7c5ef6621a4b74b71ed8726d5"}, + {file = "regex-2024.5.15-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:4eee78a04e6c67e8391edd4dad3279828dd66ac4b79570ec998e2155d2e59fd5"}, + {file = "regex-2024.5.15-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:8fe45aa3f4aa57faabbc9cb46a93363edd6197cbc43523daea044e9ff2fea83e"}, + {file = "regex-2024.5.15-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:d0a3d8d6acf0c78a1fff0e210d224b821081330b8524e3e2bc5a68ef6ab5803d"}, + {file = "regex-2024.5.15-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:c486b4106066d502495b3025a0a7251bf37ea9540433940a23419461ab9f2a80"}, + {file = "regex-2024.5.15-cp312-cp312-win32.whl", hash = "sha256:c49e15eac7c149f3670b3e27f1f28a2c1ddeccd3a2812cba953e01be2ab9b5fe"}, + {file = "regex-2024.5.15-cp312-cp312-win_amd64.whl", hash = "sha256:673b5a6da4557b975c6c90198588181029c60793835ce02f497ea817ff647cb2"}, + {file = "regex-2024.5.15-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:87e2a9c29e672fc65523fb47a90d429b70ef72b901b4e4b1bd42387caf0d6835"}, + {file = "regex-2024.5.15-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:c3bea0ba8b73b71b37ac833a7f3fd53825924165da6a924aec78c13032f20850"}, + {file = "regex-2024.5.15-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:bfc4f82cabe54f1e7f206fd3d30fda143f84a63fe7d64a81558d6e5f2e5aaba9"}, + {file = "regex-2024.5.15-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e5bb9425fe881d578aeca0b2b4b3d314ec88738706f66f219c194d67179337cb"}, + {file = "regex-2024.5.15-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:64c65783e96e563103d641760664125e91bd85d8e49566ee560ded4da0d3e704"}, + {file = "regex-2024.5.15-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cf2430df4148b08fb4324b848672514b1385ae3807651f3567871f130a728cc3"}, + {file = "regex-2024.5.15-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5397de3219a8b08ae9540c48f602996aa6b0b65d5a61683e233af8605c42b0f2"}, + {file = "regex-2024.5.15-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:455705d34b4154a80ead722f4f185b04c4237e8e8e33f265cd0798d0e44825fa"}, + {file = "regex-2024.5.15-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:b2b6f1b3bb6f640c1a92be3bbfbcb18657b125b99ecf141fb3310b5282c7d4ed"}, + {file = "regex-2024.5.15-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:3ad070b823ca5890cab606c940522d05d3d22395d432f4aaaf9d5b1653e47ced"}, + {file = "regex-2024.5.15-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:5b5467acbfc153847d5adb21e21e29847bcb5870e65c94c9206d20eb4e99a384"}, + {file = "regex-2024.5.15-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:e6662686aeb633ad65be2a42b4cb00178b3fbf7b91878f9446075c404ada552f"}, + {file = "regex-2024.5.15-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:2b4c884767504c0e2401babe8b5b7aea9148680d2e157fa28f01529d1f7fcf67"}, + {file = "regex-2024.5.15-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:3cd7874d57f13bf70078f1ff02b8b0aa48d5b9ed25fc48547516c6aba36f5741"}, + {file = "regex-2024.5.15-cp38-cp38-win32.whl", hash = "sha256:e4682f5ba31f475d58884045c1a97a860a007d44938c4c0895f41d64481edbc9"}, + {file = "regex-2024.5.15-cp38-cp38-win_amd64.whl", hash = "sha256:d99ceffa25ac45d150e30bd9ed14ec6039f2aad0ffa6bb87a5936f5782fc1569"}, + {file = "regex-2024.5.15-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:13cdaf31bed30a1e1c2453ef6015aa0983e1366fad2667657dbcac7b02f67133"}, + {file = "regex-2024.5.15-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:cac27dcaa821ca271855a32188aa61d12decb6fe45ffe3e722401fe61e323cd1"}, + {file = "regex-2024.5.15-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:7dbe2467273b875ea2de38ded4eba86cbcbc9a1a6d0aa11dcf7bd2e67859c435"}, + {file = "regex-2024.5.15-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:64f18a9a3513a99c4bef0e3efd4c4a5b11228b48aa80743be822b71e132ae4f5"}, + {file = "regex-2024.5.15-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d347a741ea871c2e278fde6c48f85136c96b8659b632fb57a7d1ce1872547600"}, + {file = "regex-2024.5.15-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1878b8301ed011704aea4c806a3cadbd76f84dece1ec09cc9e4dc934cfa5d4da"}, + {file = "regex-2024.5.15-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4babf07ad476aaf7830d77000874d7611704a7fcf68c9c2ad151f5d94ae4bfc4"}, + {file = "regex-2024.5.15-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:35cb514e137cb3488bce23352af3e12fb0dbedd1ee6e60da053c69fb1b29cc6c"}, + {file = "regex-2024.5.15-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:cdd09d47c0b2efee9378679f8510ee6955d329424c659ab3c5e3a6edea696294"}, + {file = "regex-2024.5.15-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:72d7a99cd6b8f958e85fc6ca5b37c4303294954eac1376535b03c2a43eb72629"}, + {file = "regex-2024.5.15-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:a094801d379ab20c2135529948cb84d417a2169b9bdceda2a36f5f10977ebc16"}, + {file = "regex-2024.5.15-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:c0c18345010870e58238790a6779a1219b4d97bd2e77e1140e8ee5d14df071aa"}, + {file = "regex-2024.5.15-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:16093f563098448ff6b1fa68170e4acbef94e6b6a4e25e10eae8598bb1694b5d"}, + {file = "regex-2024.5.15-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:e38a7d4e8f633a33b4c7350fbd8bad3b70bf81439ac67ac38916c4a86b465456"}, + {file = "regex-2024.5.15-cp39-cp39-win32.whl", hash = "sha256:71a455a3c584a88f654b64feccc1e25876066c4f5ef26cd6dd711308aa538694"}, + {file = "regex-2024.5.15-cp39-cp39-win_amd64.whl", hash = "sha256:cab12877a9bdafde5500206d1020a584355a97884dfd388af3699e9137bf7388"}, + {file = "regex-2024.5.15.tar.gz", hash = "sha256:d3ee02d9e5f482cc8309134a91eeaacbdd2261ba111b0fef3748eeb4913e6a2c"}, ] [[package]] name = "requests" -version = "2.32.0" +version = "2.32.3" description = "Python HTTP for Humans." optional = false python-versions = ">=3.8" files = [ - {file = "requests-2.32.0-py3-none-any.whl", hash = "sha256:f2c3881dddb70d056c5bd7600a4fae312b2a300e39be6a118d30b90bd27262b5"}, - {file = "requests-2.32.0.tar.gz", hash = "sha256:fa5490319474c82ef1d2c9bc459d3652e3ae4ef4c4ebdd18a21145a47ca4b6b8"}, + {file = "requests-2.32.3-py3-none-any.whl", hash = "sha256:70761cfe03c773ceb22aa2f671b4757976145175cdfca038c02654d061d6dcc6"}, + {file = "requests-2.32.3.tar.gz", hash = "sha256:55365417734eb18255590a9ff9eb97e9e1da868d4ccd6402399eaf68af20a760"}, ] [package.dependencies] @@ -887,19 +888,18 @@ use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"] [[package]] name = "setuptools" -version = "69.5.1" +version = "70.1.0" description = "Easily download, build, install, upgrade, and uninstall Python packages" optional = false python-versions = ">=3.8" files = [ - {file = "setuptools-69.5.1-py3-none-any.whl", hash = "sha256:c636ac361bc47580504644275c9ad802c50415c7522212252c033bd15f301f32"}, - {file = "setuptools-69.5.1.tar.gz", hash = "sha256:6c1fccdac05a97e598fb0ae3bbed5904ccb317337a51139dcd51453611bbb987"}, + {file = "setuptools-70.1.0-py3-none-any.whl", hash = "sha256:d9b8b771455a97c8a9f3ab3448ebe0b29b5e105f1228bba41028be116985a267"}, + {file = "setuptools-70.1.0.tar.gz", hash = "sha256:01a1e793faa5bd89abc851fa15d0a0db26f160890c7102cd8dce643e886b47f5"}, ] [package.extras] -docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-favicon", "sphinx-inline-tabs", "sphinx-lint", "sphinx-notfound-page (>=1,<2)", "sphinx-reredirects", "sphinxcontrib-towncrier"] -testing = ["build[virtualenv]", "filelock (>=3.4.0)", "importlib-metadata", "ini2toml[lite] (>=0.9)", "jaraco.develop (>=7.21)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "mypy (==1.9)", "packaging (>=23.2)", "pip (>=19.1)", "pytest (>=6,!=8.1.1)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-home (>=0.5)", "pytest-mypy", "pytest-perf", "pytest-ruff (>=0.2.1)", "pytest-timeout", "pytest-xdist (>=3)", "tomli", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel"] -testing-integration = ["build[virtualenv] (>=1.0.3)", "filelock (>=3.4.0)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "packaging (>=23.2)", "pytest", "pytest-enabler", "pytest-xdist", "tomli", "virtualenv (>=13.0.0)", "wheel"] +docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "pyproject-hooks (!=1.1)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-favicon", "sphinx-inline-tabs", "sphinx-lint", "sphinx-notfound-page (>=1,<2)", "sphinx-reredirects", "sphinxcontrib-towncrier"] +testing = ["build[virtualenv] (>=1.0.3)", "filelock (>=3.4.0)", "importlib-metadata", "ini2toml[lite] (>=0.14)", "jaraco.develop (>=7.21)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "jaraco.test", "mypy (==1.10.0)", "packaging (>=23.2)", "pip (>=19.1)", "pyproject-hooks (!=1.1)", "pytest (>=6,!=8.1.1)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-home (>=0.5)", "pytest-mypy", "pytest-perf", "pytest-ruff (>=0.3.2)", "pytest-subprocess", "pytest-timeout", "pytest-xdist (>=3)", "tomli", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel"] [[package]] name = "six" @@ -925,13 +925,13 @@ files = [ [[package]] name = "urllib3" -version = "2.2.1" +version = "2.2.2" description = "HTTP library with thread-safe connection pooling, file post, and more." optional = false python-versions = ">=3.8" files = [ - {file = "urllib3-2.2.1-py3-none-any.whl", hash = "sha256:450b20ec296a467077128bff42b73080516e71b56ff59a60a02bef2232c4fa9d"}, - {file = "urllib3-2.2.1.tar.gz", hash = "sha256:d0570876c61ab9e520d776c38acbbb5b05a776d3f9ff98a5c8fd5162a444cf19"}, + {file = "urllib3-2.2.2-py3-none-any.whl", hash = "sha256:a448b2f64d686155468037e1ace9f2d2199776e17f0a46610480d311f73e3472"}, + {file = "urllib3-2.2.2.tar.gz", hash = "sha256:dd505485549a7a552833da5e6063639d0d177c04f23bc3864e41e5dc5f612168"}, ] [package.extras] @@ -942,40 +942,43 @@ zstd = ["zstandard (>=0.18.0)"] [[package]] name = "watchdog" -version = "4.0.0" +version = "4.0.1" description = "Filesystem events monitoring" optional = false python-versions = ">=3.8" files = [ - {file = "watchdog-4.0.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:39cb34b1f1afbf23e9562501673e7146777efe95da24fab5707b88f7fb11649b"}, - {file = "watchdog-4.0.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:c522392acc5e962bcac3b22b9592493ffd06d1fc5d755954e6be9f4990de932b"}, - {file = "watchdog-4.0.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:6c47bdd680009b11c9ac382163e05ca43baf4127954c5f6d0250e7d772d2b80c"}, - {file = "watchdog-4.0.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:8350d4055505412a426b6ad8c521bc7d367d1637a762c70fdd93a3a0d595990b"}, - {file = "watchdog-4.0.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c17d98799f32e3f55f181f19dd2021d762eb38fdd381b4a748b9f5a36738e935"}, - {file = "watchdog-4.0.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:4986db5e8880b0e6b7cd52ba36255d4793bf5cdc95bd6264806c233173b1ec0b"}, - {file = "watchdog-4.0.0-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:11e12fafb13372e18ca1bbf12d50f593e7280646687463dd47730fd4f4d5d257"}, - {file = "watchdog-4.0.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:5369136a6474678e02426bd984466343924d1df8e2fd94a9b443cb7e3aa20d19"}, - {file = "watchdog-4.0.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:76ad8484379695f3fe46228962017a7e1337e9acadafed67eb20aabb175df98b"}, - {file = "watchdog-4.0.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:45cc09cc4c3b43fb10b59ef4d07318d9a3ecdbff03abd2e36e77b6dd9f9a5c85"}, - {file = "watchdog-4.0.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:eed82cdf79cd7f0232e2fdc1ad05b06a5e102a43e331f7d041e5f0e0a34a51c4"}, - {file = "watchdog-4.0.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:ba30a896166f0fee83183cec913298151b73164160d965af2e93a20bbd2ab605"}, - {file = "watchdog-4.0.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:d18d7f18a47de6863cd480734613502904611730f8def45fc52a5d97503e5101"}, - {file = "watchdog-4.0.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:2895bf0518361a9728773083908801a376743bcc37dfa252b801af8fd281b1ca"}, - {file = "watchdog-4.0.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:87e9df830022488e235dd601478c15ad73a0389628588ba0b028cb74eb72fed8"}, - {file = "watchdog-4.0.0-pp310-pypy310_pp73-macosx_10_9_x86_64.whl", hash = "sha256:6e949a8a94186bced05b6508faa61b7adacc911115664ccb1923b9ad1f1ccf7b"}, - {file = "watchdog-4.0.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:6a4db54edea37d1058b08947c789a2354ee02972ed5d1e0dca9b0b820f4c7f92"}, - {file = "watchdog-4.0.0-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:d31481ccf4694a8416b681544c23bd271f5a123162ab603c7d7d2dd7dd901a07"}, - {file = "watchdog-4.0.0-py3-none-manylinux2014_aarch64.whl", hash = "sha256:8fec441f5adcf81dd240a5fe78e3d83767999771630b5ddfc5867827a34fa3d3"}, - {file = "watchdog-4.0.0-py3-none-manylinux2014_armv7l.whl", hash = "sha256:6a9c71a0b02985b4b0b6d14b875a6c86ddea2fdbebd0c9a720a806a8bbffc69f"}, - {file = "watchdog-4.0.0-py3-none-manylinux2014_i686.whl", hash = "sha256:557ba04c816d23ce98a06e70af6abaa0485f6d94994ec78a42b05d1c03dcbd50"}, - {file = "watchdog-4.0.0-py3-none-manylinux2014_ppc64.whl", hash = "sha256:d0f9bd1fd919134d459d8abf954f63886745f4660ef66480b9d753a7c9d40927"}, - {file = "watchdog-4.0.0-py3-none-manylinux2014_ppc64le.whl", hash = "sha256:f9b2fdca47dc855516b2d66eef3c39f2672cbf7e7a42e7e67ad2cbfcd6ba107d"}, - {file = "watchdog-4.0.0-py3-none-manylinux2014_s390x.whl", hash = "sha256:73c7a935e62033bd5e8f0da33a4dcb763da2361921a69a5a95aaf6c93aa03a87"}, - {file = "watchdog-4.0.0-py3-none-manylinux2014_x86_64.whl", hash = "sha256:6a80d5cae8c265842c7419c560b9961561556c4361b297b4c431903f8c33b269"}, - {file = "watchdog-4.0.0-py3-none-win32.whl", hash = "sha256:8f9a542c979df62098ae9c58b19e03ad3df1c9d8c6895d96c0d51da17b243b1c"}, - {file = "watchdog-4.0.0-py3-none-win_amd64.whl", hash = "sha256:f970663fa4f7e80401a7b0cbeec00fa801bf0287d93d48368fc3e6fa32716245"}, - {file = "watchdog-4.0.0-py3-none-win_ia64.whl", hash = "sha256:9a03e16e55465177d416699331b0f3564138f1807ecc5f2de9d55d8f188d08c7"}, - {file = "watchdog-4.0.0.tar.gz", hash = "sha256:e3e7065cbdabe6183ab82199d7a4f6b3ba0a438c5a512a68559846ccb76a78ec"}, + {file = "watchdog-4.0.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:da2dfdaa8006eb6a71051795856bedd97e5b03e57da96f98e375682c48850645"}, + {file = "watchdog-4.0.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e93f451f2dfa433d97765ca2634628b789b49ba8b504fdde5837cdcf25fdb53b"}, + {file = "watchdog-4.0.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ef0107bbb6a55f5be727cfc2ef945d5676b97bffb8425650dadbb184be9f9a2b"}, + {file = "watchdog-4.0.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:17e32f147d8bf9657e0922c0940bcde863b894cd871dbb694beb6704cfbd2fb5"}, + {file = "watchdog-4.0.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:03e70d2df2258fb6cb0e95bbdbe06c16e608af94a3ffbd2b90c3f1e83eb10767"}, + {file = "watchdog-4.0.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:123587af84260c991dc5f62a6e7ef3d1c57dfddc99faacee508c71d287248459"}, + {file = "watchdog-4.0.1-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:093b23e6906a8b97051191a4a0c73a77ecc958121d42346274c6af6520dec175"}, + {file = "watchdog-4.0.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:611be3904f9843f0529c35a3ff3fd617449463cb4b73b1633950b3d97fa4bfb7"}, + {file = "watchdog-4.0.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:62c613ad689ddcb11707f030e722fa929f322ef7e4f18f5335d2b73c61a85c28"}, + {file = "watchdog-4.0.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:d4925e4bf7b9bddd1c3de13c9b8a2cdb89a468f640e66fbfabaf735bd85b3e35"}, + {file = "watchdog-4.0.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:cad0bbd66cd59fc474b4a4376bc5ac3fc698723510cbb64091c2a793b18654db"}, + {file = "watchdog-4.0.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:a3c2c317a8fb53e5b3d25790553796105501a235343f5d2bf23bb8649c2c8709"}, + {file = "watchdog-4.0.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:c9904904b6564d4ee8a1ed820db76185a3c96e05560c776c79a6ce5ab71888ba"}, + {file = "watchdog-4.0.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:667f3c579e813fcbad1b784db7a1aaa96524bed53437e119f6a2f5de4db04235"}, + {file = "watchdog-4.0.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:d10a681c9a1d5a77e75c48a3b8e1a9f2ae2928eda463e8d33660437705659682"}, + {file = "watchdog-4.0.1-pp310-pypy310_pp73-macosx_10_9_x86_64.whl", hash = "sha256:0144c0ea9997b92615af1d94afc0c217e07ce2c14912c7b1a5731776329fcfc7"}, + {file = "watchdog-4.0.1-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:998d2be6976a0ee3a81fb8e2777900c28641fb5bfbd0c84717d89bca0addcdc5"}, + {file = "watchdog-4.0.1-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:e7921319fe4430b11278d924ef66d4daa469fafb1da679a2e48c935fa27af193"}, + {file = "watchdog-4.0.1-pp38-pypy38_pp73-macosx_11_0_arm64.whl", hash = "sha256:f0de0f284248ab40188f23380b03b59126d1479cd59940f2a34f8852db710625"}, + {file = "watchdog-4.0.1-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:bca36be5707e81b9e6ce3208d92d95540d4ca244c006b61511753583c81c70dd"}, + {file = "watchdog-4.0.1-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:ab998f567ebdf6b1da7dc1e5accfaa7c6992244629c0fdaef062f43249bd8dee"}, + {file = "watchdog-4.0.1-py3-none-manylinux2014_aarch64.whl", hash = "sha256:dddba7ca1c807045323b6af4ff80f5ddc4d654c8bce8317dde1bd96b128ed253"}, + {file = "watchdog-4.0.1-py3-none-manylinux2014_armv7l.whl", hash = "sha256:4513ec234c68b14d4161440e07f995f231be21a09329051e67a2118a7a612d2d"}, + {file = "watchdog-4.0.1-py3-none-manylinux2014_i686.whl", hash = "sha256:4107ac5ab936a63952dea2a46a734a23230aa2f6f9db1291bf171dac3ebd53c6"}, + {file = "watchdog-4.0.1-py3-none-manylinux2014_ppc64.whl", hash = "sha256:6e8c70d2cd745daec2a08734d9f63092b793ad97612470a0ee4cbb8f5f705c57"}, + {file = "watchdog-4.0.1-py3-none-manylinux2014_ppc64le.whl", hash = "sha256:f27279d060e2ab24c0aa98363ff906d2386aa6c4dc2f1a374655d4e02a6c5e5e"}, + {file = "watchdog-4.0.1-py3-none-manylinux2014_s390x.whl", hash = "sha256:f8affdf3c0f0466e69f5b3917cdd042f89c8c63aebdb9f7c078996f607cdb0f5"}, + {file = "watchdog-4.0.1-py3-none-manylinux2014_x86_64.whl", hash = "sha256:ac7041b385f04c047fcc2951dc001671dee1b7e0615cde772e84b01fbf68ee84"}, + {file = "watchdog-4.0.1-py3-none-win32.whl", hash = "sha256:206afc3d964f9a233e6ad34618ec60b9837d0582b500b63687e34011e15bb429"}, + {file = "watchdog-4.0.1-py3-none-win_amd64.whl", hash = "sha256:7577b3c43e5909623149f76b099ac49a1a01ca4e167d1785c76eb52fa585745a"}, + {file = "watchdog-4.0.1-py3-none-win_ia64.whl", hash = "sha256:d7b9f5f3299e8dd230880b6c55504a1f69cf1e4316275d1b215ebdd8187ec88d"}, + {file = "watchdog-4.0.1.tar.gz", hash = "sha256:eebaacf674fa25511e8867028d281e602ee6500045b57f43b08778082f7f8b44"}, ] [package.extras] @@ -983,13 +986,13 @@ watchmedo = ["PyYAML (>=3.10)"] [[package]] name = "wcmatch" -version = "8.5.1" +version = "8.5.2" description = "Wildcard/glob file name matcher." optional = false python-versions = ">=3.8" files = [ - {file = "wcmatch-8.5.1-py3-none-any.whl", hash = "sha256:24c19cedc92bc9c9e27f39db4e1824d72f95bd2cea32b254a47a45b1a1b227ed"}, - {file = "wcmatch-8.5.1.tar.gz", hash = "sha256:c0088c7f6426cf6bf27e530e2b7b734031905f7e490475fd83c7c5008ab581b3"}, + {file = "wcmatch-8.5.2-py3-none-any.whl", hash = "sha256:17d3ad3758f9d0b5b4dedc770b65420d4dac62e680229c287bf24c9db856a478"}, + {file = "wcmatch-8.5.2.tar.gz", hash = "sha256:a70222b86dea82fb382dd87b73278c10756c138bd6f8f714e2183128887b9eb2"}, ] [package.dependencies] diff --git a/rviz_plugins/openscenario_visualization/CHANGELOG.rst b/rviz_plugins/openscenario_visualization/CHANGELOG.rst index 88425f2d625..bce43ce5d78 100644 --- a/rviz_plugins/openscenario_visualization/CHANGELOG.rst +++ b/rviz_plugins/openscenario_visualization/CHANGELOG.rst @@ -13,6 +13,77 @@ Changelog for package openscenario_visualization * Merge branch 'master' into refactor/drop_workflow * Contributors: Kotaro Yoshimoto +2.2.2 (2024-06-28) +------------------ + +2.2.1 (2024-06-27) +------------------ +* Merge remote-tracking branch 'origin/master' into fix/issue1276-re +* Contributors: Masaya Kataoka + +2.2.0 (2024-06-24) +------------------ +* Merge branch 'master' into feature/clear_route_api +* Merge remote-tracking branch 'origin/master' into feature/clear_route_api +* Merge branch 'master' into feature/clear_route_api +* Merge branch 'master' into feature/clear_route_api +* Contributors: Masaya Kataoka, Taiga + +2.1.11 (2024-06-24) +------------------- +* Merge branch 'master' of github.com:tier4/scenario_simulator_v2 into feature/unit_tests/miscellaneous +* resolve merge confilct +* resolve merge +* Merge branch 'master' of github.com:tier4/scenario_simulator_v2 into feature/unit_tests/miscellaneous +* Contributors: robomic + +2.1.10 (2024-06-24) +------------------- +* Merge branch 'master' of github.com:tier4/scenario_simulator_v2 into feature/unit_tests/misc_object_entity +* Contributors: robomic + +2.1.9 (2024-06-24) +------------------ + +2.1.8 (2024-06-20) +------------------ +* Merge branch 'master' into feature/simple_sensor_simulator_unit_test +* Merge branch 'master' into feature/simple_sensor_simulator_unit_test +* Contributors: Kotaro Yoshimoto, SzymonParapura + +2.1.7 (2024-06-19) +------------------ +* Merge branch 'master' into feature/improve-ros-parameter-handling +* Merge branch 'master' into feature/improve-ros-parameter-handling +* Contributors: Masaya Kataoka, Mateusz Palczuk + +2.1.6 (2024-06-18) +------------------ + +2.1.5 (2024-06-18) +------------------ + +2.1.4 (2024-06-14) +------------------ +* Merge branch 'master' into fix/remove_quaternion_operation +* Merge branch 'master' into fix/remove_quaternion_operation +* Contributors: Masaya Kataoka + +2.1.3 (2024-06-14) +------------------ +* Merge branch 'master' into fix/issue1276 +* Contributors: Masaya Kataoka + +2.1.2 (2024-06-13) +------------------ +* Merge branch 'master' into fix/interpreter/fault-injection-action +* Merge branch 'master' into fix/interpreter/fault-injection-action +* Merge branch 'master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge branch 'master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Contributors: Tatsuya Yamasaki, yamacir-kit + 2.1.1 (2024-06-11) ------------------ * Merge branch 'master' into fix/reorder diff --git a/rviz_plugins/openscenario_visualization/package.xml b/rviz_plugins/openscenario_visualization/package.xml index 26ad5618fca..93acdd3c03f 100644 --- a/rviz_plugins/openscenario_visualization/package.xml +++ b/rviz_plugins/openscenario_visualization/package.xml @@ -2,7 +2,7 @@ openscenario_visualization - 2.1.1 + 2.2.2 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 39c308da9a9..31649c3c965 100644 --- a/rviz_plugins/real_time_factor_control_rviz_plugin/CHANGELOG.rst +++ b/rviz_plugins/real_time_factor_control_rviz_plugin/CHANGELOG.rst @@ -13,6 +13,77 @@ Changelog for package real_time_factor_control_rviz_plugin * Merge branch 'master' into refactor/drop_workflow * Contributors: Kotaro Yoshimoto +2.2.2 (2024-06-28) +------------------ + +2.2.1 (2024-06-27) +------------------ +* Merge remote-tracking branch 'origin/master' into fix/issue1276-re +* Contributors: Masaya Kataoka + +2.2.0 (2024-06-24) +------------------ +* Merge branch 'master' into feature/clear_route_api +* Merge remote-tracking branch 'origin/master' into feature/clear_route_api +* Merge branch 'master' into feature/clear_route_api +* Merge branch 'master' into feature/clear_route_api +* Contributors: Masaya Kataoka, Taiga + +2.1.11 (2024-06-24) +------------------- +* Merge branch 'master' of github.com:tier4/scenario_simulator_v2 into feature/unit_tests/miscellaneous +* resolve merge confilct +* resolve merge +* Merge branch 'master' of github.com:tier4/scenario_simulator_v2 into feature/unit_tests/miscellaneous +* Contributors: robomic + +2.1.10 (2024-06-24) +------------------- +* Merge branch 'master' of github.com:tier4/scenario_simulator_v2 into feature/unit_tests/misc_object_entity +* Contributors: robomic + +2.1.9 (2024-06-24) +------------------ + +2.1.8 (2024-06-20) +------------------ +* Merge branch 'master' into feature/simple_sensor_simulator_unit_test +* Merge branch 'master' into feature/simple_sensor_simulator_unit_test +* Contributors: Kotaro Yoshimoto, SzymonParapura + +2.1.7 (2024-06-19) +------------------ +* Merge branch 'master' into feature/improve-ros-parameter-handling +* Merge branch 'master' into feature/improve-ros-parameter-handling +* Contributors: Masaya Kataoka, Mateusz Palczuk + +2.1.6 (2024-06-18) +------------------ + +2.1.5 (2024-06-18) +------------------ + +2.1.4 (2024-06-14) +------------------ +* Merge branch 'master' into fix/remove_quaternion_operation +* Merge branch 'master' into fix/remove_quaternion_operation +* Contributors: Masaya Kataoka + +2.1.3 (2024-06-14) +------------------ +* Merge branch 'master' into fix/issue1276 +* Contributors: Masaya Kataoka + +2.1.2 (2024-06-13) +------------------ +* Merge branch 'master' into fix/interpreter/fault-injection-action +* Merge branch 'master' into fix/interpreter/fault-injection-action +* Merge branch 'master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge branch 'master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Contributors: Tatsuya Yamasaki, yamacir-kit + 2.1.1 (2024-06-11) ------------------ * Merge branch 'master' into fix/reorder 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 331f9ec27d5..38ed6f5ad01 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 - 2.1.1 + 2.2.2 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 0213c0475ae..03f7be0ff10 100644 --- a/scenario_simulator_v2/CHANGELOG.rst +++ b/scenario_simulator_v2/CHANGELOG.rst @@ -13,6 +13,80 @@ Changelog for package scenario_simulator_v2 * Merge branch 'master' into refactor/drop_workflow * Contributors: Kotaro Yoshimoto +2.2.2 (2024-06-28) +------------------ + +2.2.1 (2024-06-27) +------------------ +* Merge remote-tracking branch 'origin/master' into fix/issue1276-re +* Contributors: Masaya Kataoka + +2.2.0 (2024-06-24) +------------------ +* Merge branch 'master' into feature/clear_route_api +* Merge remote-tracking branch 'origin/master' into feature/clear_route_api +* Merge branch 'master' into feature/clear_route_api +* Merge branch 'master' into feature/clear_route_api +* Contributors: Masaya Kataoka, Taiga + +2.1.11 (2024-06-24) +------------------- +* Merge branch 'master' of github.com:tier4/scenario_simulator_v2 into feature/unit_tests/miscellaneous +* resolve merge confilct +* resolve merge +* Merge branch 'master' of github.com:tier4/scenario_simulator_v2 into feature/unit_tests/miscellaneous +* Contributors: robomic + +2.1.10 (2024-06-24) +------------------- +* Merge branch 'master' of github.com:tier4/scenario_simulator_v2 into feature/unit_tests/misc_object_entity +* Contributors: robomic + +2.1.9 (2024-06-24) +------------------ + +2.1.8 (2024-06-20) +------------------ +* Merge branch 'master' into feature/simple_sensor_simulator_unit_test +* Merge branch 'master' into feature/simple_sensor_simulator_unit_test +* Contributors: Kotaro Yoshimoto, SzymonParapura + +2.1.7 (2024-06-19) +------------------ +* Merge branch 'master' into feature/improve-ros-parameter-handling +* Merge branch 'master' into feature/improve-ros-parameter-handling +* Contributors: Masaya Kataoka, Mateusz Palczuk + +2.1.6 (2024-06-18) +------------------ + +2.1.5 (2024-06-18) +------------------ + +2.1.4 (2024-06-14) +------------------ +* Merge branch 'master' into fix/remove_quaternion_operation +* Merge branch 'master' into fix/remove_quaternion_operation +* Contributors: Masaya Kataoka + +2.1.3 (2024-06-14) +------------------ +* Merge branch 'master' into fix/issue1276 +* Contributors: Masaya Kataoka + +2.1.2 (2024-06-13) +------------------ +* Merge branch 'master' into fix/interpreter/fault-injection-action +* Merge branch 'master' into fix/interpreter/fault-injection-action +* Merge branch 'master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge branch 'master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Contributors: Tatsuya Yamasaki, yamacir-kit + 2.1.1 (2024-06-11) ------------------ * Merge branch 'master' into fix/reorder diff --git a/scenario_simulator_v2/package.xml b/scenario_simulator_v2/package.xml index 1b2cddf54b6..f548e67cd5a 100644 --- a/scenario_simulator_v2/package.xml +++ b/scenario_simulator_v2/package.xml @@ -2,7 +2,7 @@ scenario_simulator_v2 - 2.1.1 + 2.2.2 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 7d2c5505f3a..985e4e0234f 100644 --- a/simulation/behavior_tree_plugin/CHANGELOG.rst +++ b/simulation/behavior_tree_plugin/CHANGELOG.rst @@ -13,6 +13,89 @@ Changelog for package behavior_tree_plugin * Merge branch 'master' into refactor/drop_workflow * Contributors: Kotaro Yoshimoto +2.2.2 (2024-06-28) +------------------ + +2.2.1 (2024-06-27) +------------------ +* Merge remote-tracking branch 'origin/master' into fix/issue1276-re +* Contributors: Masaya Kataoka + +2.2.0 (2024-06-24) +------------------ +* Merge branch 'master' into feature/clear_route_api +* Merge remote-tracking branch 'origin/master' into feature/clear_route_api +* Merge branch 'master' into feature/clear_route_api +* Merge branch 'master' into feature/clear_route_api +* Contributors: Masaya Kataoka, Taiga + +2.1.11 (2024-06-24) +------------------- +* Merge branch 'master' of github.com:tier4/scenario_simulator_v2 into feature/unit_tests/miscellaneous +* resolve merge confilct +* resolve merge +* Merge branch 'master' of github.com:tier4/scenario_simulator_v2 into feature/unit_tests/miscellaneous +* Contributors: robomic + +2.1.10 (2024-06-24) +------------------- +* Merge branch 'master' of github.com:tier4/scenario_simulator_v2 into feature/unit_tests/misc_object_entity +* Contributors: robomic + +2.1.9 (2024-06-24) +------------------ + +2.1.8 (2024-06-20) +------------------ +* Merge branch 'master' into feature/simple_sensor_simulator_unit_test +* Merge branch 'master' into feature/simple_sensor_simulator_unit_test +* Contributors: Kotaro Yoshimoto, SzymonParapura + +2.1.7 (2024-06-19) +------------------ +* Merge branch 'master' into feature/improve-ros-parameter-handling +* Merge branch 'master' into feature/improve-ros-parameter-handling +* Contributors: Masaya Kataoka, Mateusz Palczuk + +2.1.6 (2024-06-18) +------------------ + +2.1.5 (2024-06-18) +------------------ + +2.1.4 (2024-06-14) +------------------ +* Merge pull request `#1281 `_ from tier4/fix/remove_quaternion_operation + Remove quaternion_operation +* Merge branch 'master' into fix/remove_quaternion_operation +* Merge branch 'master' into fix/remove_quaternion_operation +* fix package xml +* Remove quaternion_operation +* Contributors: Masaya Kataoka, Taiga Takano + +2.1.3 (2024-06-14) +------------------ +* Merge branch 'master' into fix/issue1276 +* Contributors: Masaya Kataoka + +2.1.2 (2024-06-13) +------------------ +* Merge branch 'master' into fix/interpreter/fault-injection-action +* Merge branch 'master' into fix/interpreter/fault-injection-action +* Merge branch 'master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge branch 'master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Contributors: Tatsuya Yamasaki, yamacir-kit + 2.1.1 (2024-06-11) ------------------ * Merge branch 'master' into fix/reorder diff --git a/simulation/behavior_tree_plugin/package.xml b/simulation/behavior_tree_plugin/package.xml index f1bdc5167e1..138a3e24b6e 100644 --- a/simulation/behavior_tree_plugin/package.xml +++ b/simulation/behavior_tree_plugin/package.xml @@ -2,7 +2,7 @@ behavior_tree_plugin - 2.1.1 + 2.2.2 Behavior tree plugin for traffic_simulator masaya Apache 2.0 @@ -12,7 +12,6 @@ behaviortree_cpp_v3 geometry pluginlib - quaternion_operation rclcpp traffic_simulator diff --git a/simulation/behavior_tree_plugin/src/action_node.cpp b/simulation/behavior_tree_plugin/src/action_node.cpp index c621d3120bc..0109b24187f 100644 --- a/simulation/behavior_tree_plugin/src/action_node.cpp +++ b/simulation/behavior_tree_plugin/src/action_node.cpp @@ -12,11 +12,13 @@ // See the License for the specific language governing permissions and // limitations under the License. -#include - #include #include #include +#include +#include +#include +#include #include #include #include @@ -238,14 +240,14 @@ auto ActionNode::getFrontEntityName(const math::geometry::CatmullRomSplineInterf std::vector entities; for (const auto & each : other_entity_status) { const auto distance = getDistanceToTargetEntityPolygon(spline, each.first); - const auto quat = quaternion_operation::getRotation( + const auto quat = math::geometry::getRotation( entity_status->getMapPose().orientation, other_entity_status.at(each.first).getMapPose().orientation); /** * @note hard-coded parameter, if the Yaw value of RPY is in ~1.5708 -> 1.5708, entity is a candidate of front entity. */ if ( - std::fabs(quaternion_operation::convertQuaternionToEulerAngle(quat).z) <= + std::fabs(math::geometry::convertQuaternionToEulerAngle(quat).z) <= boost::math::constants::half_pi()) { if (distance && distance.value() < 40) { entities.emplace_back(each.first); @@ -477,6 +479,7 @@ auto ActionNode::calculateUpdatedEntityStatusInWorldFrame( double target_speed, const traffic_simulator_msgs::msg::DynamicConstraints & constraints) const -> traffic_simulator::CanonicalizedEntityStatus { + using math::geometry::operator*; const auto speed_planner = traffic_simulator::longitudinal_speed_planning::LongitudinalSpeedPlanner( step_time, getEntityName()); @@ -489,14 +492,13 @@ auto ActionNode::calculateUpdatedEntityStatusInWorldFrame( geometry_msgs::msg::Vector3 angular_trans_vec; angular_trans_vec.z = twist_new.angular.z * step_time; geometry_msgs::msg::Quaternion angular_trans_quat = - quaternion_operation::convertEulerAngleToQuaternion(angular_trans_vec); - pose_new.orientation = - quaternion_operation::rotation(entity_status->getMapPose().orientation, angular_trans_quat); + math::geometry::convertEulerAngleToQuaternion(angular_trans_vec); + pose_new.orientation = entity_status->getMapPose().orientation * angular_trans_quat; Eigen::Vector3d trans_vec; trans_vec(0) = twist_new.linear.x * step_time; trans_vec(1) = twist_new.linear.y * step_time; trans_vec(2) = 0; - Eigen::Matrix3d rotation_mat = quaternion_operation::getRotationMatrix(pose_new.orientation); + Eigen::Matrix3d rotation_mat = math::geometry::getRotationMatrix(pose_new.orientation); trans_vec = rotation_mat * trans_vec; pose_new.position.x = trans_vec(0) + entity_status->getMapPose().position.x; pose_new.position.y = trans_vec(1) + entity_status->getMapPose().position.y; diff --git a/simulation/behavior_tree_plugin/src/pedestrian/follow_lane_action.cpp b/simulation/behavior_tree_plugin/src/pedestrian/follow_lane_action.cpp index 55f6fda2dfb..afdb84d22b4 100644 --- a/simulation/behavior_tree_plugin/src/pedestrian/follow_lane_action.cpp +++ b/simulation/behavior_tree_plugin/src/pedestrian/follow_lane_action.cpp @@ -12,8 +12,6 @@ // See the License for the specific language governing permissions and // limitations under the License. -#include - #include #include #include diff --git a/simulation/do_nothing_plugin/CHANGELOG.rst b/simulation/do_nothing_plugin/CHANGELOG.rst index c682b45fbe2..83b2dc95374 100644 --- a/simulation/do_nothing_plugin/CHANGELOG.rst +++ b/simulation/do_nothing_plugin/CHANGELOG.rst @@ -13,6 +13,89 @@ Changelog for package do_nothing_plugin * Merge branch 'master' into refactor/drop_workflow * Contributors: Kotaro Yoshimoto +2.2.2 (2024-06-28) +------------------ + +2.2.1 (2024-06-27) +------------------ +* Merge remote-tracking branch 'origin/master' into fix/issue1276-re +* Contributors: Masaya Kataoka + +2.2.0 (2024-06-24) +------------------ +* Merge branch 'master' into feature/clear_route_api +* Merge remote-tracking branch 'origin/master' into feature/clear_route_api +* Merge branch 'master' into feature/clear_route_api +* Merge branch 'master' into feature/clear_route_api +* Contributors: Masaya Kataoka, Taiga + +2.1.11 (2024-06-24) +------------------- +* Merge branch 'master' of github.com:tier4/scenario_simulator_v2 into feature/unit_tests/miscellaneous +* resolve merge confilct +* resolve merge +* Merge branch 'master' of github.com:tier4/scenario_simulator_v2 into feature/unit_tests/miscellaneous +* Contributors: robomic + +2.1.10 (2024-06-24) +------------------- +* Merge branch 'master' of github.com:tier4/scenario_simulator_v2 into feature/unit_tests/misc_object_entity +* Contributors: robomic + +2.1.9 (2024-06-24) +------------------ + +2.1.8 (2024-06-20) +------------------ +* Merge branch 'master' into feature/simple_sensor_simulator_unit_test +* Merge branch 'master' into feature/simple_sensor_simulator_unit_test +* Contributors: Kotaro Yoshimoto, SzymonParapura + +2.1.7 (2024-06-19) +------------------ +* Merge branch 'master' into feature/improve-ros-parameter-handling +* Merge branch 'master' into feature/improve-ros-parameter-handling +* Contributors: Masaya Kataoka, Mateusz Palczuk + +2.1.6 (2024-06-18) +------------------ + +2.1.5 (2024-06-18) +------------------ + +2.1.4 (2024-06-14) +------------------ +* Merge pull request `#1281 `_ from tier4/fix/remove_quaternion_operation + Remove quaternion_operation +* Merge branch 'master' into fix/remove_quaternion_operation +* Merge branch 'master' into fix/remove_quaternion_operation +* fix package xml +* Remove quaternion_operation +* Contributors: Masaya Kataoka, Taiga Takano + +2.1.3 (2024-06-14) +------------------ +* Merge branch 'master' into fix/issue1276 +* Contributors: Masaya Kataoka + +2.1.2 (2024-06-13) +------------------ +* Merge branch 'master' into fix/interpreter/fault-injection-action +* Merge branch 'master' into fix/interpreter/fault-injection-action +* Merge branch 'master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge branch 'master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Contributors: Tatsuya Yamasaki, yamacir-kit + 2.1.1 (2024-06-11) ------------------ * Merge branch 'master' into fix/reorder diff --git a/simulation/do_nothing_plugin/package.xml b/simulation/do_nothing_plugin/package.xml index aec31e098b1..380138560dd 100644 --- a/simulation/do_nothing_plugin/package.xml +++ b/simulation/do_nothing_plugin/package.xml @@ -2,7 +2,7 @@ do_nothing_plugin - 2.1.1 + 2.2.2 Behavior plugin for do nothing Masaya Kataoka Apache 2.0 @@ -12,7 +12,6 @@ behaviortree_cpp_v3 pluginlib - quaternion_operation rclcpp traffic_simulator diff --git a/simulation/do_nothing_plugin/src/plugin.cpp b/simulation/do_nothing_plugin/src/plugin.cpp index 2bc20fe9041..ca84dc72406 100644 --- a/simulation/do_nothing_plugin/src/plugin.cpp +++ b/simulation/do_nothing_plugin/src/plugin.cpp @@ -13,6 +13,7 @@ // limitations under the License. #include +#include #include #include @@ -88,7 +89,7 @@ auto interpolateEntityStatusFromPolylineTrajectory( .position( v0.position.position * (1 - interpolation_ratio) + v1.position.position * interpolation_ratio) - .orientation(quaternion_operation::slerp( + .orientation(math::geometry::slerp( v0.position.orientation, v1.position.orientation, interpolation_ratio)); const double linear_velocity = math::geometry::hypot(v1.position.position, v0.position.position) / (v1.time - v0.time); diff --git a/simulation/simple_sensor_simulator/CHANGELOG.rst b/simulation/simple_sensor_simulator/CHANGELOG.rst index f216f8cbb91..73c524ff7d4 100644 --- a/simulation/simple_sensor_simulator/CHANGELOG.rst +++ b/simulation/simple_sensor_simulator/CHANGELOG.rst @@ -13,6 +13,117 @@ Changelog for package simple_sensor_simulator * Merge branch 'master' into refactor/drop_workflow * Contributors: Kotaro Yoshimoto +2.2.2 (2024-06-28) +------------------ + +2.2.1 (2024-06-27) +------------------ +* Merge remote-tracking branch 'origin/master' into fix/issue1276-re +* Contributors: Masaya Kataoka + +2.2.0 (2024-06-24) +------------------ +* Merge branch 'master' into feature/clear_route_api +* Merge remote-tracking branch 'origin/master' into feature/clear_route_api +* Merge branch 'master' into feature/clear_route_api +* Merge branch 'master' into feature/clear_route_api +* Contributors: Masaya Kataoka, Taiga + +2.1.11 (2024-06-24) +------------------- +* Merge branch 'master' of github.com:tier4/scenario_simulator_v2 into feature/unit_tests/miscellaneous +* resolve merge confilct +* resolve merge +* Merge branch 'master' of github.com:tier4/scenario_simulator_v2 into feature/unit_tests/miscellaneous +* remove simple sensor simulator tets +* vertex, toPoints +* simple_sensr_simulation unit tests +* Contributors: robomic + +2.1.10 (2024-06-24) +------------------- +* Merge branch 'master' of github.com:tier4/scenario_simulator_v2 into feature/unit_tests/misc_object_entity +* Contributors: robomic + +2.1.9 (2024-06-24) +------------------ + +2.1.8 (2024-06-20) +------------------ +* Merge pull request `#1291 `_ from tier4/feature/simple_sensor_simulator_unit_test + Feature/simple sensor simulator unit test +* Moved ament_cmake_gtest to package.xml +* Merge branch 'master' into feature/simple_sensor_simulator_unit_test +* test: [RJD-937] to Implement Unit tests on simple_sensor_simulator + - Fixed an issue with missed header file +* Merge branch 'master' into feature/simple_sensor_simulator_unit_test +* test: [RJD-937] to Implement Unit tests on simple_sensor_simulator + - Fixed an issue with missing package +* test: [RJD-937] to Implement Unit tests on simple_sensor_simulator + - Corrected directory structure + - Fixed an issue with a mistake +* test: [RJD-937] to Implement Unit tests on simple_sensor_simulator + - Replaced constructors with SetUp: RaycasterTest and GridTraversalTest + - Refactored Box, GridTraversal and Vertex unit tests +* test: [RJD-937] to Implement Unit tests on simple_sensor_simulator + - Fixed an issue with Raycaster tests - pointcloud size checking + - Updated test descriptions + - Added 'const' to specific variables + - Ensured a new line is added at the end of each file +* test: [RJD-937] to Implement Unit tests on simple_sensor_simulator + - Added CMakeLists.txt +* test: [RJD-937] to Implement Unit tests on simple_sensor_simulator + - Added unit tests to GridTraversal +* test: [RJD-937] to Implement Unit tests on simple_sensor_simulator + - Added unit tests to Box and Vertex classes + - Added unit tests to Raycaster class + - Added set of macros used in unit tests +* Contributors: Kotaro Yoshimoto, SzymonParapura + +2.1.7 (2024-06-19) +------------------ +* Merge branch 'master' into feature/improve-ros-parameter-handling +* Merge branch 'master' into feature/improve-ros-parameter-handling +* Contributors: Masaya Kataoka, Mateusz Palczuk + +2.1.6 (2024-06-18) +------------------ + +2.1.5 (2024-06-18) +------------------ + +2.1.4 (2024-06-14) +------------------ +* Merge pull request `#1281 `_ from tier4/fix/remove_quaternion_operation + Remove quaternion_operation +* Merge branch 'master' into fix/remove_quaternion_operation +* Merge branch 'master' into fix/remove_quaternion_operation +* fix package xml +* Remove quaternion_operation +* Contributors: Masaya Kataoka, Taiga Takano + +2.1.3 (2024-06-14) +------------------ +* Merge branch 'master' into fix/issue1276 +* Contributors: Masaya Kataoka + +2.1.2 (2024-06-13) +------------------ +* Merge branch 'master' into fix/interpreter/fault-injection-action +* Merge branch 'master' into fix/interpreter/fault-injection-action +* Merge branch 'master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge branch 'master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Contributors: Tatsuya Yamasaki, yamacir-kit + 2.1.1 (2024-06-11) ------------------ * Merge pull request `#1279 `_ from tier4/fix/reorder diff --git a/simulation/simple_sensor_simulator/CMakeLists.txt b/simulation/simple_sensor_simulator/CMakeLists.txt index 692063321aa..4e3d828ec97 100644 --- a/simulation/simple_sensor_simulator/CMakeLists.txt +++ b/simulation/simple_sensor_simulator/CMakeLists.txt @@ -84,7 +84,6 @@ EXPORT export_simple_sensor_simulator_component if(BUILD_TESTING) find_package(ament_lint_auto REQUIRED) - find_package(ament_cmake_gtest REQUIRED) ament_lint_auto_find_test_dependencies() add_subdirectory(test) diff --git a/simulation/simple_sensor_simulator/include/simple_sensor_simulator/sensor_simulation/lidar/lidar_sensor.hpp b/simulation/simple_sensor_simulator/include/simple_sensor_simulator/sensor_simulation/lidar/lidar_sensor.hpp index f28d48ca608..1b78e99770d 100644 --- a/simulation/simple_sensor_simulator/include/simple_sensor_simulator/sensor_simulation/lidar/lidar_sensor.hpp +++ b/simulation/simple_sensor_simulator/include/simple_sensor_simulator/sensor_simulation/lidar/lidar_sensor.hpp @@ -17,6 +17,7 @@ #include +#include #include #include #include diff --git a/simulation/simple_sensor_simulator/include/simple_sensor_simulator/sensor_simulation/lidar/raycaster.hpp b/simulation/simple_sensor_simulator/include/simple_sensor_simulator/sensor_simulation/lidar/raycaster.hpp index d0bd697c469..7cb4675a075 100644 --- a/simulation/simple_sensor_simulator/include/simple_sensor_simulator/sensor_simulation/lidar/raycaster.hpp +++ b/simulation/simple_sensor_simulator/include/simple_sensor_simulator/sensor_simulation/lidar/raycaster.hpp @@ -17,8 +17,9 @@ #include #include -#include +#include +#include #include #include #include @@ -83,7 +84,7 @@ class Raycaster { auto & rotation_matrices = ref_rotation_matrices.get(); auto & thread_detected_ids = ref_thread_detected_ids.get(); - const auto orientation_matrix = quaternion_operation::getRotationMatrix(origin.orientation); + const auto orientation_matrix = math::geometry::getRotationMatrix(origin.orientation); for (unsigned int i = thread_id; i < rotation_matrices.size(); i += thread_count) { RTCRayHit rayhit = {}; rayhit.ray.org_x = origin.position.x; diff --git a/simulation/simple_sensor_simulator/package.xml b/simulation/simple_sensor_simulator/package.xml index 8e04fc1f30a..cba88c93183 100644 --- a/simulation/simple_sensor_simulator/package.xml +++ b/simulation/simple_sensor_simulator/package.xml @@ -1,7 +1,7 @@ simple_sensor_simulator - 2.1.1 + 2.2.2 simple_sensor_simulator package masaya kataoka @@ -43,7 +43,6 @@ libpcl-all-dev nav_msgs pcl_conversions - quaternion_operation rclcpp_components simulation_interface traffic_simulator_msgs @@ -58,6 +57,7 @@ ament_cmake_lint_cmake ament_cmake_pep257 ament_cmake_xmllint + ament_cmake_gtest diff --git a/simulation/simple_sensor_simulator/src/sensor_simulation/detection_sensor/detection_sensor.cpp b/simulation/simple_sensor_simulator/src/sensor_simulation/detection_sensor/detection_sensor.cpp index b7f32b6b57b..23b38f4b094 100644 --- a/simulation/simple_sensor_simulator/src/sensor_simulation/detection_sensor/detection_sensor.cpp +++ b/simulation/simple_sensor_simulator/src/sensor_simulation/detection_sensor/detection_sensor.cpp @@ -12,8 +12,6 @@ // See the License for the specific language governing permissions and // limitations under the License. -#include - #include #include #include @@ -21,6 +19,7 @@ #include #include #include +#include #include #include #include @@ -117,7 +116,7 @@ auto make(const traffic_simulator_msgs::EntityStatus & status) -> geometry_msgs: auto center_point = geometry_msgs::msg::Point(); simulation_interface::toMsg(status.bounding_box().center(), center_point); - Eigen::Vector3d center = quaternion_operation::getRotationMatrix(pose.orientation) * + Eigen::Vector3d center = math::geometry::getRotationMatrix(pose.orientation) * Eigen::Vector3d(center_point.x, center_point.y, center_point.z); pose.position.x = pose.position.x + center.x(); diff --git a/simulation/simple_sensor_simulator/src/sensor_simulation/lidar/lidar_sensor.cpp b/simulation/simple_sensor_simulator/src/sensor_simulation/lidar/lidar_sensor.cpp index 14d4a427f2d..84f4d44ce7e 100644 --- a/simulation/simple_sensor_simulator/src/sensor_simulation/lidar/lidar_sensor.cpp +++ b/simulation/simple_sensor_simulator/src/sensor_simulation/lidar/lidar_sensor.cpp @@ -12,8 +12,6 @@ // See the License for the specific language governing permissions and // limitations under the License. -#include - #include #include #include @@ -39,7 +37,7 @@ auto LidarSensor::raycast( } else { geometry_msgs::msg::Pose pose; simulation_interface::toMsg(entity.pose(), pose); - auto rotation = quaternion_operation::getRotationMatrix(pose.orientation); + auto rotation = math::geometry::getRotationMatrix(pose.orientation); geometry_msgs::msg::Point center_point; simulation_interface::toMsg(entity.bounding_box().center(), center_point); Eigen::Vector3d center(center_point.x, center_point.y, center_point.z); diff --git a/simulation/simple_sensor_simulator/src/sensor_simulation/lidar/raycaster.cpp b/simulation/simple_sensor_simulator/src/sensor_simulation/lidar/raycaster.cpp index e1325bfa354..ebfb547171c 100644 --- a/simulation/simple_sensor_simulator/src/sensor_simulation/lidar/raycaster.cpp +++ b/simulation/simple_sensor_simulator/src/sensor_simulation/lidar/raycaster.cpp @@ -12,8 +12,6 @@ // See the License for the specific language governing permissions and // limitations under the License. -#include - #include #include #include @@ -61,7 +59,7 @@ void Raycaster::setDirection( configuration.horizontal_resolution()); rotation_matrices_.clear(); for (const auto & q : quat_directions) { - rotation_matrices_.push_back(quaternion_operation::getRotationMatrix(q)); + rotation_matrices_.push_back(math::geometry::getRotationMatrix(q)); } } @@ -83,7 +81,7 @@ std::vector Raycaster::getDirections( rpy.x = 0; rpy.y = vertical_angle; rpy.z = horizontal_angle; - auto quat = quaternion_operation::convertEulerAngleToQuaternion(rpy); + auto quat = math::geometry::convertEulerAngleToQuaternion(rpy); directions.emplace_back(quat); } } diff --git a/simulation/simple_sensor_simulator/src/sensor_simulation/occupancy_grid/occupancy_grid_builder.cpp b/simulation/simple_sensor_simulator/src/sensor_simulation/occupancy_grid/occupancy_grid_builder.cpp index ec081adb11d..53e84567a44 100644 --- a/simulation/simple_sensor_simulator/src/sensor_simulation/occupancy_grid/occupancy_grid_builder.cpp +++ b/simulation/simple_sensor_simulator/src/sensor_simulation/occupancy_grid/occupancy_grid_builder.cpp @@ -12,9 +12,8 @@ // See the License for the specific language governing permissions and // limitations under the License. -#include - #include +#include #include #include #include diff --git a/simulation/simple_sensor_simulator/src/sensor_simulation/occupancy_grid/occupancy_grid_sensor.cpp b/simulation/simple_sensor_simulator/src/sensor_simulation/occupancy_grid/occupancy_grid_sensor.cpp index d947efe5d5d..c48ecc4a93c 100644 --- a/simulation/simple_sensor_simulator/src/sensor_simulation/occupancy_grid/occupancy_grid_sensor.cpp +++ b/simulation/simple_sensor_simulator/src/sensor_simulation/occupancy_grid/occupancy_grid_sensor.cpp @@ -12,9 +12,8 @@ // See the License for the specific language governing permissions and // limitations under the License. -#include - #include +#include #include #include #include @@ -126,7 +125,7 @@ auto OccupancyGridSensor::getOccupancyGrid( simulation_interface::toMsg(s.pose(), pose); auto point = geometry_msgs::msg::Point(); simulation_interface::toMsg(s.bounding_box().center(), point); - auto rotation = quaternion_operation::getRotationMatrix(pose.orientation); + auto rotation = math::geometry::getRotationMatrix(pose.orientation); auto center = (rotation * Eigen::Vector3d(point.x, point.y, point.z)).eval(); pose.position.x += center.x(); diff --git a/simulation/simple_sensor_simulator/src/sensor_simulation/primitives/primitive.cpp b/simulation/simple_sensor_simulator/src/sensor_simulation/primitives/primitive.cpp index ca998ac1fdb..4ed7a01e06e 100644 --- a/simulation/simple_sensor_simulator/src/sensor_simulation/primitives/primitive.cpp +++ b/simulation/simple_sensor_simulator/src/sensor_simulation/primitives/primitive.cpp @@ -12,8 +12,6 @@ // See the License for the specific language governing permissions and // limitations under the License. -#include - #include #include #include diff --git a/simulation/simple_sensor_simulator/src/simple_sensor_simulator.cpp b/simulation/simple_sensor_simulator/src/simple_sensor_simulator.cpp index ad7d92218e2..95110509a6e 100644 --- a/simulation/simple_sensor_simulator/src/simple_sensor_simulator.cpp +++ b/simulation/simple_sensor_simulator/src/simple_sensor_simulator.cpp @@ -12,8 +12,6 @@ // See the License for the specific language governing permissions and // limitations under the License. -#include - #include #include #include 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 6774b91973b..9f3ee147026 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 @@ -14,6 +14,10 @@ #include #include +#include +#include +#include +#include #include #include @@ -215,8 +219,8 @@ void EgoEntitySimulation::overwrite( const traffic_simulator_msgs::msg::EntityStatus & status, double current_scenario_time, double step_time, bool npc_logic_started) { - using quaternion_operation::convertQuaternionToEulerAngle; - using quaternion_operation::getRotationMatrix; + using math::geometry::convertQuaternionToEulerAngle; + using math::geometry::getRotationMatrix; autoware->rethrow(); @@ -280,7 +284,7 @@ void EgoEntitySimulation::overwrite( void EgoEntitySimulation::update( double current_scenario_time, double step_time, bool npc_logic_started) { - using quaternion_operation::getRotationMatrix; + using math::geometry::getRotationMatrix; autoware->rethrow(); @@ -440,9 +444,10 @@ auto EgoEntitySimulation::getCurrentTwist() const -> geometry_msgs::msg::Twist auto EgoEntitySimulation::getCurrentPose(const double pitch_angle = 0.) const -> geometry_msgs::msg::Pose { + using math::geometry::operator*; const auto relative_position = - quaternion_operation::getRotationMatrix(initial_pose_.orientation) * world_relative_position_; - const auto relative_orientation = quaternion_operation::convertEulerAngleToQuaternion( + math::geometry::getRotationMatrix(initial_pose_.orientation) * world_relative_position_; + const auto relative_orientation = math::geometry::convertEulerAngleToQuaternion( geometry_msgs::build() .x(0) .y(pitch_angle) @@ -531,17 +536,17 @@ auto EgoEntitySimulation::fillLaneletDataAndSnapZToLanelet( if (const auto s_value = spline.getSValue(status.pose)) { status.pose.position.z = spline.getPoint(s_value.value()).z; if (consider_pose_by_road_slope_) { - const auto rpy = quaternion_operation::convertQuaternionToEulerAngle( + const auto rpy = math::geometry::convertQuaternionToEulerAngle( spline.getPose(s_value.value(), true).orientation); const auto original_rpy = - quaternion_operation::convertQuaternionToEulerAngle(status.pose.orientation); - status.pose.orientation = quaternion_operation::convertEulerAngleToQuaternion( + math::geometry::convertQuaternionToEulerAngle(status.pose.orientation); + status.pose.orientation = math::geometry::convertEulerAngleToQuaternion( geometry_msgs::build() .x(original_rpy.x) .y(rpy.y) .z(original_rpy.z)); lanelet_pose->rpy = - quaternion_operation::convertQuaternionToEulerAngle(quaternion_operation::getRotation( + math::geometry::convertQuaternionToEulerAngle(math::geometry::getRotation( spline.getPose(s_value.value(), true).orientation, status.pose.orientation)); } } diff --git a/simulation/simple_sensor_simulator/test/CMakeLists.txt b/simulation/simple_sensor_simulator/test/CMakeLists.txt index 14856674d1c..818b079f9c6 100644 --- a/simulation/simple_sensor_simulator/test/CMakeLists.txt +++ b/simulation/simple_sensor_simulator/test/CMakeLists.txt @@ -1,6 +1,12 @@ find_package(Protobuf REQUIRED) include_directories(${Protobuf_INCLUDE_DIRS}) +ament_add_gtest(test_scenario_simulator src/test_scenario_simulator.cpp) +target_link_libraries(test_scenario_simulator simple_sensor_simulator_component ${Protobuf_LIBRARIES}) + +ament_add_gtest(test_sensor_simulation src/sensor_simulation/test_sensor_simulation.cpp) +target_link_libraries(test_sensor_simulation simple_sensor_simulator_component ${Protobuf_LIBRARIES}) + install( DIRECTORY map DESTINATION share/${PROJECT_NAME}) diff --git a/simulation/simple_sensor_simulator/test/src/sensor_simulation/lidar/CMakeLists.txt b/simulation/simple_sensor_simulator/test/src/sensor_simulation/lidar/CMakeLists.txt index 7d16e7f14cf..8a2ccd08399 100644 --- a/simulation/simple_sensor_simulator/test/src/sensor_simulation/lidar/CMakeLists.txt +++ b/simulation/simple_sensor_simulator/test/src/sensor_simulation/lidar/CMakeLists.txt @@ -1,3 +1,6 @@ +find_package(Protobuf REQUIRED) +include_directories(${Protobuf_INCLUDE_DIRS}) + ament_add_gtest(test_raycaster test_raycaster.cpp) target_link_libraries(test_raycaster simple_sensor_simulator_component ${Protobuf_LIBRARIES}) diff --git a/simulation/simple_sensor_simulator/test/src/sensor_simulation/occupancy_grid/CMakeLists.txt b/simulation/simple_sensor_simulator/test/src/sensor_simulation/occupancy_grid/CMakeLists.txt index bbd7ab28815..082937dc6f7 100644 --- a/simulation/simple_sensor_simulator/test/src/sensor_simulation/occupancy_grid/CMakeLists.txt +++ b/simulation/simple_sensor_simulator/test/src/sensor_simulation/occupancy_grid/CMakeLists.txt @@ -1,2 +1,5 @@ ament_add_gtest(test_grid_traversal test_grid_traversal.cpp) target_link_libraries(test_grid_traversal simple_sensor_simulator_component) + +ament_add_gtest(test_occupancy_grid_builder test_occupancy_grid_builder.cpp) +target_link_libraries(test_occupancy_grid_builder simple_sensor_simulator_component ${Protobuf_LIBRARIES}) diff --git a/simulation/simple_sensor_simulator/test/src/sensor_simulation/occupancy_grid/test_occupancy_grid_builder.cpp b/simulation/simple_sensor_simulator/test/src/sensor_simulation/occupancy_grid/test_occupancy_grid_builder.cpp new file mode 100644 index 00000000000..3fcbcd511a2 --- /dev/null +++ b/simulation/simple_sensor_simulator/test/src/sensor_simulation/occupancy_grid/test_occupancy_grid_builder.cpp @@ -0,0 +1,182 @@ +// 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 "../../utils/helper_functions.hpp" + +/** + * @note Test function behavior when called after the limit has been reached. + * The number of elements added is equal to int16_t max. + */ +TEST(OccupancyGridBuilder, add_overLimit) +{ + auto builder = simple_sensor_simulator::OccupancyGridBuilder( + 0.1, static_cast(20), static_cast(40)); + for (int i = 0; i < static_cast(std::numeric_limits::max()); ++i) { + builder.add(utils::makeBox(5.0f, 0.0, 0.0)); + } + EXPECT_THROW(builder.add(utils::makeBox(5.0f, 0.0, 0.0)), std::runtime_error); +} + +/** + * @note Test basic functionality. Test adding a primitive with a sample primitive (e.g. box) + * positioned fully inside the grid, but not in the center. + */ +TEST(OccupancyGridBuilder, add_primitiveInside) +{ + const auto result_expected = std::vector{ + // clang-format off + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 2, 2, 2, 2, 2, 2, 1, 1, 1, + 1, 1, 1, 1, 2, 2, 2, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 1, 1, 1, + 1, 1, 1, 1, 2, 2, 2, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 1, 1, 1, + 1, 1, 1, 1, 2, 2, 2, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 1, 1, 1, + 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, + // clang-format on + }; + + auto builder = simple_sensor_simulator::OccupancyGridBuilder( + 1.0, static_cast(10), static_cast(20), static_cast(2), + static_cast(1)); + builder.add(utils::makeBox(5.0f, 4.0, 0.0)); + builder.add(utils::makeBox(2.0f, -5.0, 0.0)); + + builder.build(); + + EXPECT_EQ(result_expected, builder.get()); +} + +/** + * @note Test basic functionality. Test adding a primitive with a sample primitive (e.g. box) + * positioned in such a way that it protrudes from the grid area. + */ +TEST(OccupancyGridBuilder, add_primitiveProtruding) +{ + const auto result_expected = std::vector{ + // clang-format off + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // clang-format on + }; + + auto builder = simple_sensor_simulator::OccupancyGridBuilder( + 1.0, static_cast(10), static_cast(20), static_cast(2), + static_cast(1)); + builder.add(utils::makeBox(5.0f, 9.0, -4.0)); + builder.add(utils::makeBox(2.0f, -10.0, 3.0)); + + builder.build(); + + EXPECT_EQ(result_expected, builder.get()); +} + +/** + * @note Test basic functionality. Test adding a primitive with a sample primitive (e.g. box) + * covering the center of the grid - the goal is to get whole grid as invisible. + */ +TEST(OccupancyGridBuilder, add_primitiveInCenter) +{ + const auto result_expected = std::vector{ + // clang-format off + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + // clang-format on + /* This is how the algorithm's output looks, zeros on the right are unexpected. + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, + 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 1, 1, 0, 0, 0, 0, 0, + 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + */ + }; + + auto builder = simple_sensor_simulator::OccupancyGridBuilder( + 1.0, static_cast(10), static_cast(20), static_cast(2), + static_cast(1)); + builder.add(utils::makeBox(5.0f, 0.0, 0.0)); + + builder.build(); + + EXPECT_EQ(result_expected, builder.get()); +} + +/** + * @note Test basic functionality. Test adding a primitive with a sample primitive (e.g. box) + * covering the center of the grid - the goal is to get whole grid as invisible. + */ +TEST(OccupancyGridBuilder, reset) +{ + const auto result_expected = std::vector{ + // clang-format off + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // clang-format on + }; + + auto builder = simple_sensor_simulator::OccupancyGridBuilder( + 1.0, static_cast(10), static_cast(20), static_cast(2), + static_cast(1)); + builder.add(utils::makeBox(5.0f, 0.0, 0.0)); + builder.reset(utils::makePose(0.0, 0.0)); + + builder.build(); + + EXPECT_EQ(result_expected, builder.get()); +} + +int main(int argc, char ** argv) +{ + testing::InitGoogleTest(&argc, argv); + return RUN_ALL_TESTS(); +} diff --git a/simulation/simple_sensor_simulator/test/src/sensor_simulation/test_sensor_simulation.cpp b/simulation/simple_sensor_simulator/test/src/sensor_simulation/test_sensor_simulation.cpp new file mode 100644 index 00000000000..dbc905f15ef --- /dev/null +++ b/simulation/simple_sensor_simulator/test/src/sensor_simulation/test_sensor_simulation.cpp @@ -0,0 +1,113 @@ +// 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 + +class SensorSimulationTest : public testing::Test +{ +protected: + SensorSimulationTest() : node(rclcpp::Node{"name", rclcpp::NodeOptions{}}) {} + rclcpp::Node node; +}; + +/** + * @note Test function behavior when called with a configuration architecture type other than + * "awf/universe" - the goal is to test error throwing. + */ +TEST_F(SensorSimulationTest, attachLidarSensor_wrongArchitecture) +{ + auto configuration = simulation_api_schema::LidarConfiguration{}; + configuration.set_architecture_type("wrong/architecture"); + + EXPECT_THROW( + simple_sensor_simulator::SensorSimulation().attachLidarSensor(0.0, configuration, node), + std::runtime_error); +} + +/** + * @note Test basic functionality. Test attaching a lidar sensor correctness with a sample lidar configuration. + */ +TEST_F(SensorSimulationTest, attachLidarSensor_correctConfiguration) +{ + auto configuration = simulation_api_schema::LidarConfiguration{}; + configuration.set_architecture_type("awf/universe"); + + EXPECT_NO_THROW( + simple_sensor_simulator::SensorSimulation().attachLidarSensor(0.0, configuration, node)); +} + +/** + * @note Test function behavior when called with a configuration architecture type other than + * "awf/universe" - the goal is to test error throwing. + */ +TEST_F(SensorSimulationTest, attachDetectionSensor_wrongArchitecture) +{ + auto configuration = simulation_api_schema::DetectionSensorConfiguration{}; + configuration.set_architecture_type("wrong/architecture"); + + EXPECT_THROW( + simple_sensor_simulator::SensorSimulation().attachDetectionSensor(0.0, configuration, node), + std::runtime_error); +} + +/** + * @note Test basic functionality. Test attaching a detection sensor correctness + * with a sample detection sensor configuration. + */ +TEST_F(SensorSimulationTest, attachDetectionSensor_correctConfiguration) +{ + auto configuration = simulation_api_schema::DetectionSensorConfiguration{}; + configuration.set_architecture_type("awf/universe"); + + EXPECT_NO_THROW( + simple_sensor_simulator::SensorSimulation().attachDetectionSensor(0.0, configuration, node)); +} + +/** + * @note Test function behavior when called with a configuration architecture type other than + * "awf/universe" - the goal is to test error throwing. + */ +TEST_F(SensorSimulationTest, attachOccupancyGridSensor_wrongArchitecture) +{ + auto configuration = simulation_api_schema::OccupancyGridSensorConfiguration{}; + configuration.set_architecture_type("wrong/architecture"); + + EXPECT_THROW( + simple_sensor_simulator::SensorSimulation().attachOccupancyGridSensor(0.0, configuration, node), + std::runtime_error); +} + +/** + * @note Test basic functionality. Test attaching a occupancy grid sensor correctness + * with a sample occupancy grid sensor configuration. + */ +TEST_F(SensorSimulationTest, attachOccupancyGridSensor_correctConfiguration) +{ + auto configuration = simulation_api_schema::OccupancyGridSensorConfiguration{}; + configuration.set_architecture_type("awf/universe"); + + EXPECT_NO_THROW(simple_sensor_simulator::SensorSimulation().attachOccupancyGridSensor( + 0.0, configuration, node)); +} + +int main(int argc, char ** argv) +{ + rclcpp::init(0, nullptr); + testing::InitGoogleTest(&argc, argv); + const int result = RUN_ALL_TESTS(); + rclcpp::shutdown(); + return result; +} diff --git a/simulation/simple_sensor_simulator/test/src/test_scenario_simulator.cpp b/simulation/simple_sensor_simulator/test/src/test_scenario_simulator.cpp new file mode 100644 index 00000000000..c0d63b04d20 --- /dev/null +++ b/simulation/simple_sensor_simulator/test/src/test_scenario_simulator.cpp @@ -0,0 +1,188 @@ +// 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 "test_scenario_simulator.hpp" + +#include "utils/expect_eq_macros.hpp" + +/** + * @note Test initialization correctness with a sample request with the default port (5555). + */ +TEST(ScenarioSimulator, initialize_defaultPort) +{ + auto server = std::thread([] { + rclcpp::init(0, nullptr); + rclcpp::NodeOptions options; + auto component = std::make_shared(options); + rclcpp::spin(component); + }); + + auto client = + zeromq::MultiClient(simulation_interface::TransportProtocol::TCP, "localhost", 5555U); + + EXPECT_TRUE(client.call(makeInitializeRequest()).result().success()); + + rclcpp::shutdown(); + server.join(); +} + +/** + * @note Test initialization correctness with a sample request with a custom port. + */ +TEST(ScenarioSimulator, initialize_customPort) +{ + auto server = std::thread([] { + rclcpp::init(0, nullptr); + rclcpp::NodeOptions options; + options.parameter_overrides().push_back( + rclcpp::Parameter{"port", rclcpp::ParameterValue(1234)}); + auto component = std::make_shared(options); + rclcpp::spin(component); + }); + + auto client = + zeromq::MultiClient(simulation_interface::TransportProtocol::TCP, "localhost", 1234U); + + EXPECT_TRUE(client.call(makeInitializeRequest()).result().success()); + + rclcpp::shutdown(); + server.join(); +} + +/** + * @note Test updating frame correctness with a sample request. +*/ +TEST_F(ScenarioSimulatorTest, updateFrame_correct) +{ + EXPECT_TRUE(client.call(makeInitializeRequest()).result().success()); + EXPECT_TRUE(client.call(makeUpdateFrameRequest()).result().success()); +} + +/** + * @note Test updating frame correctness with a sample request before requesting initialization. + */ +TEST_F(ScenarioSimulatorTest, updateFrame_noInitialize) +{ + // UB is entered during this test. ScenarioSimulator constructor is missing "initialized_(false)," + EXPECT_FALSE(client.call(makeUpdateFrameRequest()).result().success()); +} + +/** + * @note Test spawning vehicle entity correctness with a request to spawn + * Ego vehicle when Ego vehicle is not spawned yet. + */ +TEST_F(ScenarioSimulatorTest, spawnVehicleEntity_firstEgo) +{ + EXPECT_TRUE(client.call(makeInitializeRequest()).result().success()); + EXPECT_TRUE(client.call(makeSpawnVehicleEntityRequest("ego", true)).result().success()); +} + +/** + * @note Test spawning vehicle entity correctness with a request to spawn a NPC vehicle. + */ +TEST_F(ScenarioSimulatorTest, spawnVehicleEntity_npc) +{ + EXPECT_TRUE(client.call(makeInitializeRequest()).result().success()); + EXPECT_TRUE(client.call(makeSpawnVehicleEntityRequest("npc", false)).result().success()); +} + +/** + * @note Test spawning pedestrian entity correctness with a request to spawn a NPC pedestrian. + */ +TEST_F(ScenarioSimulatorTest, spawnPedestrianEntity) +{ + EXPECT_TRUE(client.call(makeInitializeRequest()).result().success()); + EXPECT_TRUE(client.call(makeSpawnPedestrianEntityRequest("bob")).result().success()); +} + +/** + * @note Test spawning misc object entity correctness with a request to spawn a misc object. + */ +TEST_F(ScenarioSimulatorTest, spawnMiscObjectEntity) +{ + EXPECT_TRUE(client.call(makeInitializeRequest()).result().success()); + EXPECT_TRUE(client.call(makeSpawnMiscObjectEntityRequest("blob")).result().success()); +} + +/** + * @note Test despawning an entity with a request to despawn an existing vehicle. + */ +TEST_F(ScenarioSimulatorTest, despawnEntity_vehicle) +{ + EXPECT_TRUE(client.call(makeInitializeRequest()).result().success()); + EXPECT_TRUE(client.call(makeSpawnVehicleEntityRequest("npc", false)).result().success()); + EXPECT_TRUE(client.call(makeDespawnEntityRequest("npc")).result().success()); +} + +/** + * @note Test despawning an entity with a request to despawn an existing pedestrian. + */ +TEST_F(ScenarioSimulatorTest, despawnEntity_pedestrian) +{ + EXPECT_TRUE(client.call(makeInitializeRequest()).result().success()); + EXPECT_TRUE(client.call(makeSpawnPedestrianEntityRequest("bob")).result().success()); + EXPECT_TRUE(client.call(makeDespawnEntityRequest("bob")).result().success()); +} + +/** + * @note Test despawning an entity with a request to despawn an existing misc object. + */ +TEST_F(ScenarioSimulatorTest, despawnEntity_miscObject) +{ + EXPECT_TRUE(client.call(makeInitializeRequest()).result().success()); + EXPECT_TRUE(client.call(makeSpawnMiscObjectEntityRequest("blob")).result().success()); + EXPECT_TRUE(client.call(makeDespawnEntityRequest("blob")).result().success()); +} + +/** + * @note Test despawning an entity with a request to despawn an entity that does not exist. + */ +TEST_F(ScenarioSimulatorTest, despawnEntity_invalidName) +{ + EXPECT_TRUE(client.call(makeInitializeRequest()).result().success()); + EXPECT_FALSE(client.call(makeDespawnEntityRequest("invalid")).result().success()); +} + +/** + * @note Test attaching detection sensor with a request to attach a sensor with a valid configuration. + */ +TEST_F(ScenarioSimulatorTest, attachDetectionSensor) +{ + EXPECT_TRUE(client.call(makeInitializeRequest()).result().success()); + EXPECT_TRUE(client.call(makeAttachDetectionSensorRequest()).result().success()); +} + +/** + * @note Test attaching lidar sensor with a request to attach a sensor with a valid configuration. + */ +TEST_F(ScenarioSimulatorTest, attachLidarSensor) +{ + EXPECT_TRUE(client.call(makeInitializeRequest()).result().success()); + EXPECT_TRUE(client.call(makeAttachLidarSensorRequest()).result().success()); +} + +/** + * @note Test attaching occupancy grid sensor with a request to attach a sensor with a valid configuration. + */ +TEST_F(ScenarioSimulatorTest, attachOccupancyGridSensor) +{ + EXPECT_TRUE(client.call(makeInitializeRequest()).result().success()); + EXPECT_TRUE(client.call(makeAttachOccupancyGridSensorRequest()).result().success()); +} + +int main(int argc, char ** argv) +{ + testing::InitGoogleTest(&argc, argv); + return RUN_ALL_TESTS(); +} diff --git a/simulation/simple_sensor_simulator/test/src/test_scenario_simulator.hpp b/simulation/simple_sensor_simulator/test/src/test_scenario_simulator.hpp new file mode 100644 index 00000000000..650342dd3ed --- /dev/null +++ b/simulation/simple_sensor_simulator/test/src/test_scenario_simulator.hpp @@ -0,0 +1,127 @@ +// 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 "utils/helper_functions.hpp" + +auto makeInitializeRequest() -> simulation_api_schema::InitializeRequest +{ + auto request = simulation_api_schema::InitializeRequest(); + request.set_lanelet2_map_path( + ament_index_cpp::get_package_share_directory("simple_sensor_simulator") + + "/map/lanelet2_map.osm"); + return request; +} + +auto makeUpdateFrameRequest() -> simulation_api_schema::UpdateFrameRequest +{ + auto request = simulation_api_schema::UpdateFrameRequest(); + request.set_current_scenario_time(1.0); + request.set_current_simulation_time(1.0); + return request; +} + +auto makeDespawnEntityRequest(const std::string name = "name") + -> simulation_api_schema::DespawnEntityRequest +{ + auto request = simulation_api_schema::DespawnEntityRequest(); + request.set_name(name); + return request; +} + +auto makeSpawnVehicleEntityRequest(const std::string name = "name", const bool is_ego = false) + -> simulation_api_schema::SpawnVehicleEntityRequest +{ + auto request = simulation_api_schema::SpawnVehicleEntityRequest(); + const auto params = traffic_simulator_msgs::msg::VehicleParameters{}; + simulation_interface::toProto(params, *request.mutable_parameters()); + request.mutable_parameters()->set_name(name); + request.set_is_ego(is_ego); + return request; +} + +auto makeSpawnPedestrianEntityRequest(const std::string name = "name") + -> simulation_api_schema::SpawnPedestrianEntityRequest +{ + auto request = simulation_api_schema::SpawnPedestrianEntityRequest(); + const auto params = traffic_simulator_msgs::msg::PedestrianParameters{}; + simulation_interface::toProto(params, *request.mutable_parameters()); + request.mutable_parameters()->set_name(name); + return request; +} + +auto makeSpawnMiscObjectEntityRequest(const std::string name = "name") + -> simulation_api_schema::SpawnMiscObjectEntityRequest +{ + auto request = simulation_api_schema::SpawnMiscObjectEntityRequest(); + const auto params = traffic_simulator_msgs::msg::MiscObjectParameters{}; + simulation_interface::toProto(params, *request.mutable_parameters()); + request.mutable_parameters()->set_name(name); + return request; +} + +auto makeAttachDetectionSensorRequest() -> simulation_api_schema::AttachDetectionSensorRequest +{ + auto request = simulation_api_schema::AttachDetectionSensorRequest(); + *request.mutable_configuration() = + utils::constructDetectionSensorConfiguration("entity_name", "awf/universe", 1.0); + return request; +} + +auto makeAttachLidarSensorRequest() -> simulation_api_schema::AttachLidarSensorRequest +{ + auto request = simulation_api_schema::AttachLidarSensorRequest(); + *request.mutable_configuration() = + utils::constructLidarConfiguration("entity_name", "awf/universe", 0.0, 1.0 / 180.0 * M_PI); + return request; +} + +auto makeAttachOccupancyGridSensorRequest() + -> simulation_api_schema::AttachOccupancyGridSensorRequest +{ + auto request = simulation_api_schema::AttachOccupancyGridSensorRequest(); + *request.mutable_configuration() = + utils::constructOccupancyGridSensorConfiguration("entity_name", "awf/universe", 1.0); + return request; +} + +class ScenarioSimulatorTest : public testing::Test +{ +protected: + ScenarioSimulatorTest() + : server([] { + rclcpp::init(0, nullptr); + rclcpp::NodeOptions options; + auto component = std::make_shared(options); + rclcpp::spin(component); + }), + client(simulation_interface::TransportProtocol::TCP, "localhost", 5555U) + { + } + std::thread server; + zeromq::MultiClient client; + ~ScenarioSimulatorTest() + { + rclcpp::shutdown(); + server.join(); + } +}; \ No newline at end of file diff --git a/simulation/simple_sensor_simulator/test/src/utils/helper_functions.hpp b/simulation/simple_sensor_simulator/test/src/utils/helper_functions.hpp index 881249afd5a..842e5774024 100644 --- a/simulation/simple_sensor_simulator/test/src/utils/helper_functions.hpp +++ b/simulation/simple_sensor_simulator/test/src/utils/helper_functions.hpp @@ -23,6 +23,7 @@ #include #include #include +#include #include #include #include @@ -43,8 +44,8 @@ inline auto makePoint(const double px, const double py, const double pz) } inline auto makePose( - const double px, const double py, const double pz, const double ox, const double oy, - const double oz, const double ow) -> geometry_msgs::msg::Pose + const double px, const double py, const double pz = 0.0, const double ox = 0.0, + const double oy = 0.0, const double oz = 0.0, const double ow = 1.0) -> geometry_msgs::msg::Pose { return geometry_msgs::build() .position(geometry_msgs::build().x(px).y(py).z(pz)) @@ -57,6 +58,12 @@ inline auto makeDimensions(const double x, const double y, const double z) return geometry_msgs::build().x(x).y(y).z(z); } +inline auto makeBox(const float size, const double x, const double y) + -> simple_sensor_simulator::primitives::Box +{ + return simple_sensor_simulator::primitives::Box(size, size, size, utils::makePose(x, y)); +} + auto constructDetectionSensorConfiguration( const std::string & entity, const std::string & architecture_type, const double update_duration, const double range = 300.0, const bool detect_all_objects_in_range = false, @@ -111,6 +118,21 @@ inline auto constructLidarConfiguration( return configuration; } +inline auto constructOccupancyGridSensorConfiguration( + const std::string & entity, const std::string & architecture_type, + const double horizontal_resolution) + -> const simulation_api_schema::OccupancyGridSensorConfiguration +{ + auto configuration = simulation_api_schema::OccupancyGridSensorConfiguration(); + + configuration.set_entity(entity); + configuration.set_architecture_type(architecture_type); + configuration.set_update_duration(1.0); + configuration.set_range(300.0); + configuration.set_resolution(horizontal_resolution); + return configuration; +} + inline auto createEntityStatus( const std::string & name, const EntityType::Enum type, const std::optional & subtype, const geometry_msgs::msg::Pose & pose, diff --git a/simulation/simulation_interface/CHANGELOG.rst b/simulation/simulation_interface/CHANGELOG.rst index ca76dc214dc..9d4f77d4635 100644 --- a/simulation/simulation_interface/CHANGELOG.rst +++ b/simulation/simulation_interface/CHANGELOG.rst @@ -13,6 +13,87 @@ Changelog for package simulation_interface * Merge branch 'master' into refactor/drop_workflow * Contributors: Kotaro Yoshimoto +2.2.2 (2024-06-28) +------------------ + +2.2.1 (2024-06-27) +------------------ +* Merge remote-tracking branch 'origin/master' into fix/issue1276-re +* Contributors: Masaya Kataoka + +2.2.0 (2024-06-24) +------------------ +* Merge branch 'master' into feature/clear_route_api +* Merge remote-tracking branch 'origin/master' into feature/clear_route_api +* Merge branch 'master' into feature/clear_route_api +* Merge branch 'master' into feature/clear_route_api +* Contributors: Masaya Kataoka, Taiga + +2.1.11 (2024-06-24) +------------------- +* Merge branch 'master' of github.com:tier4/scenario_simulator_v2 into feature/unit_tests/miscellaneous +* resolve merge confilct +* resolve merge +* Merge branch 'master' of github.com:tier4/scenario_simulator_v2 into feature/unit_tests/miscellaneous +* final cleanup +* remove conversions tests +* conversions cleanup +* simulation_interface unit tests +* Contributors: robomic + +2.1.10 (2024-06-24) +------------------- +* Merge branch 'master' of github.com:tier4/scenario_simulator_v2 into feature/unit_tests/misc_object_entity +* Contributors: robomic + +2.1.9 (2024-06-24) +------------------ + +2.1.8 (2024-06-20) +------------------ +* Merge branch 'master' into feature/simple_sensor_simulator_unit_test +* Merge branch 'master' into feature/simple_sensor_simulator_unit_test +* Contributors: Kotaro Yoshimoto, SzymonParapura + +2.1.7 (2024-06-19) +------------------ +* Merge branch 'master' into feature/improve-ros-parameter-handling +* Merge branch 'master' into feature/improve-ros-parameter-handling +* Contributors: Masaya Kataoka, Mateusz Palczuk + +2.1.6 (2024-06-18) +------------------ + +2.1.5 (2024-06-18) +------------------ + +2.1.4 (2024-06-14) +------------------ +* Merge branch 'master' into fix/remove_quaternion_operation +* Merge branch 'master' into fix/remove_quaternion_operation +* Contributors: Masaya Kataoka + +2.1.3 (2024-06-14) +------------------ +* Merge branch 'master' into fix/issue1276 +* Contributors: Masaya Kataoka + +2.1.2 (2024-06-13) +------------------ +* Merge branch 'master' into fix/interpreter/fault-injection-action +* Merge branch 'master' into fix/interpreter/fault-injection-action +* Merge branch 'master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge branch 'master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Contributors: Tatsuya Yamasaki, yamacir-kit + 2.1.1 (2024-06-11) ------------------ * Merge branch 'master' into fix/reorder diff --git a/simulation/simulation_interface/package.xml b/simulation/simulation_interface/package.xml index d42e4cc07cc..1080cf140d0 100644 --- a/simulation/simulation_interface/package.xml +++ b/simulation/simulation_interface/package.xml @@ -2,7 +2,7 @@ simulation_interface - 2.1.1 + 2.2.2 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 59527a69f27..29b6d963cec 100644 --- a/simulation/traffic_simulator/CHANGELOG.rst +++ b/simulation/traffic_simulator/CHANGELOG.rst @@ -13,6 +13,172 @@ Changelog for package traffic_simulator * Merge branch 'master' into refactor/drop_workflow * Contributors: Kotaro Yoshimoto +2.2.2 (2024-06-28) +------------------ + +2.2.1 (2024-06-27) +------------------ +* Merge pull request `#1293 `_ from tier4/fix/issue1276-re + Optimize entity frame computation. +* Merge remote-tracking branch 'origin/master' into fix/issue1276-re +* Optimize entity frame computation. +* Contributors: Masaya Kataoka, Taiga Takano + +2.2.0 (2024-06-24) +------------------ +* Merge pull request `#1292 `_ from tier4/feature/clear_route_api + add API::clearRoute() +* Merge branch 'master' into feature/clear_route_api +* Merge remote-tracking branch 'origin/master' into feature/clear_route_api +* Merge branch 'master' into feature/clear_route_api +* Merge branch 'master' into feature/clear_route_api +* add API::clearRoute() +* Contributors: Masaya Kataoka, Taiga, Taiga Takano + +2.1.11 (2024-06-24) +------------------- +* Merge pull request `#1287 `_ from tier4/feature/unit_tests/miscellaneous + Feature/unit tests/miscellaneous +* resolve conflict +* Merge branch 'master' of github.com:tier4/scenario_simulator_v2 into feature/unit_tests/miscellaneous +* fix typo +* remove unecessary assignment +* add newlines +* add copy of helper_functions, apply review requests +* remove misc tests +* resolve merge confilct +* resolve merge +* remove test list file +* use test fixtures +* rename literal +* use test fixture +* remove variables that are used only once +* remove unnecesary checks +* newlines +* add tes descriptions +* prepare notes for descriptions +* Merge branch 'master' of github.com:tier4/scenario_simulator_v2 into feature/unit_tests/miscellaneous +* remove conversions tests +* remove tests that exist in other branches and refactor wht is left +* style +* getDistanceToLeftLaneBound +* getRouteLanelets_empty +* simulation clock tests +* entity_base tests +* entity_base tests; code cleanup +* EntityBase onUpdate. onPostUpdate tests +* entity_base dummy class with a couple of tests +* job accessor tests +* make linter happy +* job and job_list unit tests +* behavior getRequestString +* vertex, toPoints +* traffic light bulb tests +* traffic_light status shape color tests +* traffic_simulator unit tests +* Contributors: Masaya Kataoka, robomic + +2.1.10 (2024-06-24) +------------------- +* Merge pull request `#1286 `_ from tier4/feature/unit_tests/misc_object_entity + Feature/unit tests/misc object entity +* resolve conflict +* Merge branch 'master' of github.com:tier4/scenario_simulator_v2 into feature/unit_tests/misc_object_entity +* internal review corrections +* use better naming +* merge tests into a singular file +* clean up +* add newline +* rename file definition +* use builder +* remove variables used only once +* make it work; some tests have been deleted +* collect tests, will not compile +* Contributors: Masaya Kataoka, robomic + +2.1.9 (2024-06-24) +------------------ + +2.1.8 (2024-06-20) +------------------ +* Merge branch 'master' into feature/simple_sensor_simulator_unit_test +* Merge branch 'master' into feature/simple_sensor_simulator_unit_test +* Contributors: Kotaro Yoshimoto, SzymonParapura + +2.1.7 (2024-06-19) +------------------ +* Merge pull request `#1275 `_ from tier4/feature/improve-ros-parameter-handling + Feature: improve ROS parameter handling +* Convert parameterHandler class to free function getParameter used with parameters interface +* getParameter -> getROS2Parameter +* Merge branch 'master' into feature/improve-ros-parameter-handling +* Revert changes adding parameter checking + After thic change the code is functionally the same as in the beginning +* Merge branch 'master' into feature/improve-ros-parameter-handling +* Declare parameters before getting values +* ref(ParameterManager): rename to NodeParameterHandler, improve +* Make ParameterManager explicit +* Remove getParameter from EntityManager +* Remove getParameter from EgoEntity +* Use ParameterManager in EgoEntity +* Use const for getParameter +* Add getParameter forwarding in API +* Add ParameterManager to API +* Move ParameterManager +* Prototype ParameterManager +* Contributors: Dawid Moszynski, Masaya Kataoka, Mateusz Palczuk + +2.1.6 (2024-06-18) +------------------ +* Merge pull request `#1289 `_ from tier4/revert-1284-fix/issue1276 + Revert "Optimize `EntityManager::broadcastEntityTransform` to Execute Only Once" +* Revert "Optimize `EntityManager::broadcastEntityTransform` to Execute Only Once" +* Contributors: Masaya Kataoka + +2.1.5 (2024-06-18) +------------------ + +2.1.4 (2024-06-14) +------------------ +* Merge pull request `#1281 `_ from tier4/fix/remove_quaternion_operation + Remove quaternion_operation +* Merge branch 'master' into fix/remove_quaternion_operation +* Merge branch 'master' into fix/remove_quaternion_operation +* Remove quaternion_operation +* Contributors: Masaya Kataoka, Taiga Takano + +2.1.3 (2024-06-14) +------------------ +* Merge pull request `#1284 `_ from tier4/fix/issue1276 + Optimize `EntityManager::broadcastEntityTransform` to Execute Only Once +* Merge branch 'master' into fix/issue1276 +* fix format +* Only publsih tf onece. +* Contributors: Masaya Kataoka, Taiga Takano + +2.1.2 (2024-06-13) +------------------ +* Merge branch 'master' into fix/interpreter/fault-injection-action +* Merge branch 'master' into fix/interpreter/fault-injection-action +* Merge branch 'master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge branch 'master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Contributors: Tatsuya Yamasaki, yamacir-kit + 2.1.1 (2024-06-11) ------------------ * Merge branch 'master' into fix/reorder diff --git a/simulation/traffic_simulator/CMakeLists.txt b/simulation/traffic_simulator/CMakeLists.txt index 00b349d12ad..c7e9c3e212a 100644 --- a/simulation/traffic_simulator/CMakeLists.txt +++ b/simulation/traffic_simulator/CMakeLists.txt @@ -20,7 +20,6 @@ find_package(traffic_simulator_msgs REQUIRED) find_package(Boost COMPONENTS filesystem) find_package(lanelet2_matching REQUIRED) find_package(tinyxml2_vendor REQUIRED) -find_package(quaternion_operation REQUIRED) find_package(pluginlib REQUIRED) include(FindProtobuf REQUIRED) diff --git a/simulation/traffic_simulator/include/traffic_simulator/api/api.hpp b/simulation/traffic_simulator/include/traffic_simulator/api/api.hpp index d50990b863a..20bf2a3892d 100644 --- a/simulation/traffic_simulator/include/traffic_simulator/api/api.hpp +++ b/simulation/traffic_simulator/include/traffic_simulator/api/api.hpp @@ -65,7 +65,10 @@ class API template , typename... Ts> explicit API(NodeT && node, const Configuration & configuration, Ts &&... xs) : configuration(configuration), - entity_manager_ptr_(std::make_shared(node, configuration)), + node_parameters_( + rclcpp::node_interfaces::get_node_parameters_interface(std::forward(node))), + entity_manager_ptr_( + std::make_shared(node, configuration, node_parameters_)), traffic_controller_ptr_(std::make_shared( entity_manager_ptr_->getHdmapUtils(), [this]() { return API::getEntityNames(); }, [this](const auto & name) { return API::getMapPose(name); }, @@ -131,7 +134,7 @@ class API if (behavior == VehicleBehavior::autoware()) { return entity_manager_ptr_->entityExists(name) or entity_manager_ptr_->spawnEntity( - name, pose, parameters, configuration); + name, pose, parameters, configuration, node_parameters_); } else { return entity_manager_ptr_->spawnEntity( name, pose, parameters, behavior); @@ -364,6 +367,7 @@ class API FORWARD_TO_ENTITY_MANAGER(requestFollowTrajectory); FORWARD_TO_ENTITY_MANAGER(requestSpeedChange); FORWARD_TO_ENTITY_MANAGER(requestWalkStraight); + FORWARD_TO_ENTITY_MANAGER(requestClearRoute); FORWARD_TO_ENTITY_MANAGER(resetBehaviorPlugin); FORWARD_TO_ENTITY_MANAGER(resetConventionalTrafficLightPublishRate); FORWARD_TO_ENTITY_MANAGER(resetV2ITrafficLightPublishRate); @@ -386,6 +390,12 @@ class API public: #undef FORWARD_TO_ENTITY_MANAGER + template + auto getROS2Parameter(Ts &&... xs) const -> decltype(auto) + { + return getParameter(node_parameters_, std::forward(xs)...); + } + auto canonicalize(const LaneletPose & maybe_non_canonicalized_lanelet_pose) const -> CanonicalizedLaneletPose; auto canonicalize(const EntityStatus & may_non_canonicalized_entity_status) const @@ -403,6 +413,8 @@ class API const Configuration configuration; + const rclcpp::node_interfaces::NodeParametersInterface::SharedPtr node_parameters_; + const std::shared_ptr entity_manager_ptr_; const std::shared_ptr traffic_controller_ptr_; 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 fdf0aa0d171..897578779ff 100644 --- a/simulation/traffic_simulator/include/traffic_simulator/entity/ego_entity.hpp +++ b/simulation/traffic_simulator/include/traffic_simulator/entity/ego_entity.hpp @@ -25,6 +25,7 @@ #include #include #include +#include #include #include @@ -36,7 +37,8 @@ class EgoEntity : public VehicleEntity { const std::unique_ptr field_operator_application; - static auto makeFieldOperatorApplication(const Configuration &) + static auto makeFieldOperatorApplication( + const Configuration &, const rclcpp::node_interfaces::NodeParametersInterface::SharedPtr &) -> std::unique_ptr; bool is_controlled_by_simulator_{false}; @@ -50,7 +52,8 @@ class EgoEntity : public VehicleEntity explicit EgoEntity( const std::string & name, const CanonicalizedEntityStatus &, const std::shared_ptr &, - const traffic_simulator_msgs::msg::VehicleParameters &, const Configuration &); + const traffic_simulator_msgs::msg::VehicleParameters &, const Configuration &, + const rclcpp::node_interfaces::NodeParametersInterface::SharedPtr &); explicit EgoEntity(EgoEntity &&) = delete; @@ -110,6 +113,8 @@ class EgoEntity : public VehicleEntity const speed_change::RelativeTargetSpeed &, const speed_change::Transition, const speed_change::Constraint, const bool continuous) -> void override; + void requestClearRoute() override; + auto isControlledBySimulator() const -> bool override; auto setControlledBySimulator(bool state) -> void override diff --git a/simulation/traffic_simulator/include/traffic_simulator/entity/entity_base.hpp b/simulation/traffic_simulator/include/traffic_simulator/entity/entity_base.hpp index 47cb91d6ea4..8d771799cbb 100644 --- a/simulation/traffic_simulator/include/traffic_simulator/entity/entity_base.hpp +++ b/simulation/traffic_simulator/include/traffic_simulator/entity/entity_base.hpp @@ -166,6 +166,8 @@ class EntityBase virtual void requestSpeedChange(const speed_change::RelativeTargetSpeed &, bool); + virtual void requestClearRoute(); + virtual auto isControlledBySimulator() const -> bool; virtual auto setControlledBySimulator(bool) -> void; 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 f7f1af6764e..b47293c4348 100644 --- a/simulation/traffic_simulator/include/traffic_simulator/entity/entity_manager.hpp +++ b/simulation/traffic_simulator/include/traffic_simulator/entity/entity_manager.hpp @@ -42,6 +42,7 @@ #include #include #include +#include #include #include #include @@ -52,18 +53,6 @@ #include #include -/// @todo find some shared space for this function -template -static auto getParameter(const std::string & name, T value = {}) -{ - rclcpp::Node node{"get_parameter", "simulation"}; - - node.declare_parameter(name, value); - node.get_parameter(name, value); - - return value; -} - namespace traffic_simulator { namespace entity @@ -85,6 +74,7 @@ class EntityManager Configuration configuration; std::shared_ptr node_topics_interface; + const rclcpp::node_interfaces::NodeParametersInterface::SharedPtr node_parameters_; tf2_ros::StaticTransformBroadcaster broadcaster_; tf2_ros::TransformBroadcaster base_link_broadcaster_; @@ -143,7 +133,7 @@ class EntityManager auto makeV2ITrafficLightPublisher(Ts &&... xs) -> std::shared_ptr { if (const auto architecture_type = - getParameter("architecture_type", "awf/universe"); + getParameter(node_parameters_, "architecture_type", "awf/universe"); architecture_type.find("awf/universe") != std::string::npos) { return std::make_shared< TrafficLightPublisher>( @@ -156,9 +146,12 @@ class EntityManager } template > - explicit EntityManager(NodeT && node, const Configuration & configuration) + explicit EntityManager( + NodeT && node, const Configuration & configuration, + const rclcpp::node_interfaces::NodeParametersInterface::SharedPtr & node_parameters) : configuration(configuration), node_topics_interface(rclcpp::node_interfaces::get_node_topics_interface(node)), + node_parameters_(node_parameters), broadcaster_(node), base_link_broadcaster_(node), clock_ptr_(node->get_clock()), @@ -309,6 +302,7 @@ class EntityManager FORWARD_TO_ENTITY(requestFollowTrajectory, ); FORWARD_TO_ENTITY(requestLaneChange, ); FORWARD_TO_ENTITY(requestWalkStraight, ); + FORWARD_TO_ENTITY(requestClearRoute, ); FORWARD_TO_ENTITY(setAcceleration, ); FORWARD_TO_ENTITY(setAccelerationLimit, ); FORWARD_TO_ENTITY(setAccelerationRateLimit, ); @@ -506,7 +500,7 @@ class EntityManager entity_status.lanelet_pose = *lanelet_pose; entity_status.lanelet_pose_valid = true; /// @note fix z, roll and pitch to fitting to the lanelet - if (getParameter("consider_pose_by_road_slope", false)) { + if (getParameter(node_parameters_, "consider_pose_by_road_slope", false)) { entity_status.pose = hdmap_utils_ptr_->toMapPose(*lanelet_pose).pose; } else { entity_status.pose = pose; diff --git a/simulation/traffic_simulator/include/traffic_simulator/utils/node_parameters.hpp b/simulation/traffic_simulator/include/traffic_simulator/utils/node_parameters.hpp new file mode 100644 index 00000000000..5114d9997af --- /dev/null +++ b/simulation/traffic_simulator/include/traffic_simulator/utils/node_parameters.hpp @@ -0,0 +1,42 @@ +// Copyright 2024 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 TRAFFIC_SIMULATOR__UTILS__NODE_PARAMETERS_HPP_ +#define TRAFFIC_SIMULATOR__UTILS__NODE_PARAMETERS_HPP_ + +#include +#include + +namespace traffic_simulator +{ +/** + * Get parameter or declare it if it has not been declared before. Declare it with a default value. + * @param node_parameters The node parameters interface pointer, it will be used to access the parameters + * @param name The name of the parameter + * @param default_value The default value of the parameter + * @return The value of the parameter + */ +template +auto getParameter( + rclcpp::node_interfaces::NodeParametersInterface::SharedPtr node_parameters, + const std::string & name, const ParameterT & default_value = {}) -> ParameterT +{ + if (not node_parameters->has_parameter(name)) { + node_parameters->declare_parameter(name, rclcpp::ParameterValue(default_value)); + } + return node_parameters->get_parameter(name).get_value(); +} +} // namespace traffic_simulator + +#endif //TRAFFIC_SIMULATOR__UTILS__NODE_PARAMETERS_HPP_ diff --git a/simulation/traffic_simulator/package.xml b/simulation/traffic_simulator/package.xml index a5ff0d45510..3c2ff1308c3 100644 --- a/simulation/traffic_simulator/package.xml +++ b/simulation/traffic_simulator/package.xml @@ -1,7 +1,7 @@ traffic_simulator - 2.1.1 + 2.2.2 control traffic flow masaya kataoka @@ -27,7 +27,6 @@ libomp-dev nlohmann-json-dev pugixml-dev - quaternion_operation rclcpp rclcpp_components rosgraph_msgs diff --git a/simulation/traffic_simulator/src/api/api.cpp b/simulation/traffic_simulator/src/api/api.cpp index 68a67a8d5d2..fbf565729d6 100644 --- a/simulation/traffic_simulator/src/api/api.cpp +++ b/simulation/traffic_simulator/src/api/api.cpp @@ -14,6 +14,7 @@ #include +#include #include #include #include @@ -112,7 +113,7 @@ auto API::setEntityStatus( { geometry_msgs::msg::Pose relative_pose; relative_pose.position = relative_position; - relative_pose.orientation = quaternion_operation::convertEulerAngleToQuaternion(relative_rpy); + relative_pose.orientation = math::geometry::convertEulerAngleToQuaternion(relative_rpy); setEntityStatus(name, reference_entity_name, relative_pose, action_status); } @@ -217,7 +218,7 @@ bool API::attachDetectionSensor( double object_recognition_delay) { return attachDetectionSensor(helper::constructDetectionSensorConfiguration( - entity_name, getParameter("architecture_type", "awf/universe"), 0.1, + entity_name, getROS2Parameter("architecture_type", "awf/universe"), 0.1, detection_sensor_range, detect_all_objects_in_range, pos_noise_stddev, random_seed, probability_of_lost, object_recognition_delay)); } @@ -250,7 +251,7 @@ bool API::attachLidarSensor( const helper::LidarType lidar_type) { return attachLidarSensor(helper::constructLidarConfiguration( - lidar_type, entity_name, getParameter("architecture_type", "awf/universe"), + lidar_type, entity_name, getROS2Parameter("architecture_type", "awf/universe"), lidar_sensor_delay)); } diff --git a/simulation/traffic_simulator/src/behavior/follow_trajectory.cpp b/simulation/traffic_simulator/src/behavior/follow_trajectory.cpp index 4b98cc16c8b..c27cabdd538 100644 --- a/simulation/traffic_simulator/src/behavior/follow_trajectory.cpp +++ b/simulation/traffic_simulator/src/behavior/follow_trajectory.cpp @@ -12,9 +12,10 @@ // See the License for the specific language governing permissions and // limitations under the License. -#include - #include +#include +#include +#include #include #include #include @@ -92,18 +93,17 @@ auto makeUpdatedStatus( status.lanelet_pose = lanelet_pose.value(); const CatmullRomSpline spline(hdmap_utils->getCenterPoints(status.lanelet_pose.lanelet_id)); const auto lanelet_quaternion = spline.getPose(status.lanelet_pose.s, true).orientation; - const auto lanelet_rpy = - quaternion_operation::convertQuaternionToEulerAngle(lanelet_quaternion); + const auto lanelet_rpy = math::geometry::convertQuaternionToEulerAngle(lanelet_quaternion); const auto entity_rpy = - quaternion_operation::convertQuaternionToEulerAngle(status.pose.orientation); + math::geometry::convertQuaternionToEulerAngle(status.pose.orientation); // adjust orientation in EntityStatus.pose (only pitch) and in EntityStatus.LaneletPose - status.pose.orientation = quaternion_operation::convertEulerAngleToQuaternion( + status.pose.orientation = math::geometry::convertEulerAngleToQuaternion( geometry_msgs::build() .x(entity_rpy.x) .y(lanelet_rpy.y) .z(entity_rpy.z)); - status.lanelet_pose.rpy = quaternion_operation::convertQuaternionToEulerAngle( - quaternion_operation::getRotation(lanelet_quaternion, status.pose.orientation)); + status.lanelet_pose.rpy = math::geometry::convertQuaternionToEulerAngle( + math::geometry::getRotation(lanelet_quaternion, status.pose.orientation)); status.lanelet_pose_valid = true; } else { status.lanelet_pose_valid = false; @@ -386,7 +386,7 @@ auto makeUpdatedStatus( // if entity is on lane use pitch from lanelet, otherwise use pitch on target const auto pitch = entity_status.lanelet_pose_valid - ? -quaternion_operation::convertQuaternionToEulerAngle( + ? -math::geometry::convertQuaternionToEulerAngle( entity_status.pose.orientation) .y : std::atan2(target_position.z - position.z, std::hypot(dy, dx)); @@ -417,12 +417,10 @@ auto makeUpdatedStatus( desired_velocity.y, ", ", desired_velocity.z, "]."); } else if (const auto current_velocity = [&]() { - const auto pitch = -quaternion_operation::convertQuaternionToEulerAngle( - entity_status.pose.orientation) - .y; - const auto yaw = quaternion_operation::convertQuaternionToEulerAngle( - entity_status.pose.orientation) - .z; + const auto pitch = + -math::geometry::convertQuaternionToEulerAngle(entity_status.pose.orientation).y; + const auto yaw = + math::geometry::convertQuaternionToEulerAngle(entity_status.pose.orientation).z; return geometry_msgs::build() .x(std::cos(pitch) * std::cos(yaw) * speed) .y(std::cos(pitch) * std::sin(yaw) * speed) @@ -593,7 +591,7 @@ auto makeUpdatedStatus( .x(0.0) .y(std::atan2(-desired_velocity.z, std::hypot(desired_velocity.x, desired_velocity.y))) .z(std::atan2(desired_velocity.y, desired_velocity.x)); - return quaternion_operation::convertEulerAngleToQuaternion(direction); + return math::geometry::convertEulerAngleToQuaternion(direction); } }(); @@ -611,7 +609,7 @@ auto makeUpdatedStatus( updated_status.action_status.twist.linear.z = 0; updated_status.action_status.twist.angular = - quaternion_operation::convertQuaternionToEulerAngle(quaternion_operation::getRotation( + math::geometry::convertQuaternionToEulerAngle(math::geometry::getRotation( entity_status.pose.orientation, updated_status.pose.orientation)) / step_time; diff --git a/simulation/traffic_simulator/src/entity/ego_entity.cpp b/simulation/traffic_simulator/src/entity/ego_entity.cpp index ca5e551b472..fe7c67608e3 100644 --- a/simulation/traffic_simulator/src/entity/ego_entity.cpp +++ b/simulation/traffic_simulator/src/entity/ego_entity.cpp @@ -12,8 +12,6 @@ // See the License for the specific language governing permissions and // limitations under the License. -#include - #include #include #include @@ -34,34 +32,25 @@ namespace traffic_simulator { namespace entity { -/// @todo find some shared space for this function -template -static auto getParameter(const std::string & name, T value = {}) -{ - rclcpp::Node node{"get_parameter", "simulation"}; - - node.declare_parameter(name, value); - node.get_parameter(name, value); - - return value; -} - -auto EgoEntity::makeFieldOperatorApplication(const Configuration & configuration) +auto EgoEntity::makeFieldOperatorApplication( + const Configuration & configuration, + const rclcpp::node_interfaces::NodeParametersInterface::SharedPtr & node_parameters) -> std::unique_ptr { - if (const auto architecture_type = getParameter("architecture_type", "awf/universe"); + if (const auto architecture_type = + getParameter(node_parameters, "architecture_type", "awf/universe"); architecture_type.find("awf/universe") != std::string::npos) { - std::string rviz_config = getParameter("rviz_config", ""); - return getParameter("launch_autoware", true) + std::string rviz_config = getParameter(node_parameters, "rviz_config", ""); + return getParameter(node_parameters, "launch_autoware", true) ? std::make_unique< concealer::FieldOperatorApplicationFor>( - getParameter("autoware_launch_package"), - getParameter("autoware_launch_file"), + getParameter(node_parameters, "autoware_launch_package"), + getParameter(node_parameters, "autoware_launch_file"), "map_path:=" + configuration.map_path.string(), "lanelet2_map_file:=" + configuration.getLanelet2MapFile(), "pointcloud_map_file:=" + configuration.getPointCloudMapFile(), - "sensor_model:=" + getParameter("sensor_model"), - "vehicle_model:=" + getParameter("vehicle_model"), + "sensor_model:=" + getParameter(node_parameters, "sensor_model"), + "vehicle_model:=" + getParameter(node_parameters, "vehicle_model"), "rviz_config:=" + ((rviz_config == "") ? configuration.rviz_config_path.string() : Configuration::Pathname(rviz_config).string()), @@ -80,9 +69,10 @@ EgoEntity::EgoEntity( const std::string & name, const CanonicalizedEntityStatus & entity_status, const std::shared_ptr & hdmap_utils_ptr, const traffic_simulator_msgs::msg::VehicleParameters & parameters, - const Configuration & configuration) + const Configuration & configuration, + const rclcpp::node_interfaces::NodeParametersInterface::SharedPtr & node_parameters) : VehicleEntity(name, entity_status, hdmap_utils_ptr, parameters), - field_operator_application(makeFieldOperatorApplication(configuration)) + field_operator_application(makeFieldOperatorApplication(configuration, node_parameters)) { } @@ -260,6 +250,8 @@ auto EgoEntity::requestSpeedChange( "purposes only."); } +void EgoEntity::requestClearRoute() { field_operator_application->clearRoute(); } + auto EgoEntity::getDefaultDynamicConstraints() const -> const traffic_simulator_msgs::msg::DynamicConstraints & { diff --git a/simulation/traffic_simulator/src/entity/entity_base.cpp b/simulation/traffic_simulator/src/entity/entity_base.cpp index 6f4a71d5850..0e47bd8009f 100644 --- a/simulation/traffic_simulator/src/entity/entity_base.cpp +++ b/simulation/traffic_simulator/src/entity/entity_base.cpp @@ -271,6 +271,13 @@ void EntityBase::requestSpeedChangeWithConstantAcceleration( } } +void EntityBase::requestClearRoute() +{ + THROW_SEMANTIC_ERROR( + "requestClearRoute is only supported for EgoEntity. The specified Entity is not an EgoEntity. " + "Please check the scenario carefully."); +} + void EntityBase::requestSpeedChangeWithTimeConstraint( const double target_speed, const speed_change::Transition transition, double acceleration_time) { diff --git a/simulation/traffic_simulator/src/entity/entity_manager.cpp b/simulation/traffic_simulator/src/entity/entity_manager.cpp index 571adc2dedf..b25b03d62e4 100644 --- a/simulation/traffic_simulator/src/entity/entity_manager.cpp +++ b/simulation/traffic_simulator/src/entity/entity_manager.cpp @@ -39,6 +39,9 @@ namespace entity { void EntityManager::broadcastEntityTransform() { + static bool is_send = false; + static geometry_msgs::msg::Pose pose; + using math::geometry::operator/; using math::geometry::operator*; using math::geometry::operator+=; @@ -52,31 +55,39 @@ void EntityManager::broadcastEntityTransform() if (isEgoSpawned()) { const auto ego_name = getEgoName(); if (entityExists(ego_name)) { + if (!is_send) { + pose = getMapPose(ego_name); + is_send = true; + } broadcastTransform( geometry_msgs::build() /** * @note This is the intended implementation. * It is easier to create rviz config if the name "ego" is fixed, - * so the frame_id “ego” is issued regardless of the name of the ego entity. + * so the frame_id "ego" is issued regardless of the name of the ego entity. */ .header(std_msgs::build().stamp(clock_ptr_->now()).frame_id("ego")) - .pose(getMapPose(ego_name)), + .pose(pose), true); } } if (!names.empty()) { + if (!is_send) { + pose = geometry_msgs::build() + .position(std::accumulate( + names.begin(), names.end(), geometry_msgs::msg::Point(), + [this, names](geometry_msgs::msg::Point point, const std::string & name) { + point += getMapPose(name).position * (1.0 / static_cast(names.size())); + return point; + })) + .orientation(geometry_msgs::msg::Quaternion()); + is_send = true; + } broadcastTransform( geometry_msgs::build() .header( std_msgs::build().stamp(clock_ptr_->now()).frame_id("entities")) - .pose(geometry_msgs::build() - .position(std::accumulate( - names.begin(), names.end(), geometry_msgs::msg::Point(), - [this, names](geometry_msgs::msg::Point point, const std::string & name) { - point += getMapPose(name).position * (1.0 / static_cast(names.size())); - return point; - })) - .orientation(geometry_msgs::msg::Quaternion())), + .pose(pose), true); } } diff --git a/simulation/traffic_simulator/src/entity/pedestrian_entity.cpp b/simulation/traffic_simulator/src/entity/pedestrian_entity.cpp index 631a9b4b9fe..ba21c07c37d 100644 --- a/simulation/traffic_simulator/src/entity/pedestrian_entity.cpp +++ b/simulation/traffic_simulator/src/entity/pedestrian_entity.cpp @@ -12,8 +12,6 @@ // See the License for the specific language governing permissions and // limitations under the License. -#include - #include #include #include diff --git a/simulation/traffic_simulator/src/entity/vehicle_entity.cpp b/simulation/traffic_simulator/src/entity/vehicle_entity.cpp index 8a1963640fd..cfe1f741104 100644 --- a/simulation/traffic_simulator/src/entity/vehicle_entity.cpp +++ b/simulation/traffic_simulator/src/entity/vehicle_entity.cpp @@ -12,8 +12,6 @@ // See the License for the specific language governing permissions and // limitations under the License. -#include - #include #include #include diff --git a/simulation/traffic_simulator/src/hdmap_utils/hdmap_utils.cpp b/simulation/traffic_simulator/src/hdmap_utils/hdmap_utils.cpp index 5576c8203c2..c6e24e9d1ec 100644 --- a/simulation/traffic_simulator/src/hdmap_utils/hdmap_utils.cpp +++ b/simulation/traffic_simulator/src/hdmap_utils/hdmap_utils.cpp @@ -16,7 +16,6 @@ #include #include #include -#include #include #include @@ -27,7 +26,10 @@ #include #include #include +#include +#include #include +#include #include #include #include @@ -505,9 +507,9 @@ auto HdMapUtils::matchToLane( std::optional id; lanelet::matching::Object2d obj; obj.pose.translation() = toPoint2d(pose.position); - obj.pose.linear() = Eigen::Rotation2D( - quaternion_operation::convertQuaternionToEulerAngle(pose.orientation).z) - .matrix(); + obj.pose.linear() = + Eigen::Rotation2D(math::geometry::convertQuaternionToEulerAngle(pose.orientation).z) + .matrix(); obj.absoluteHull = absoluteHull( lanelet::matching::Hull2d{ lanelet::BasicPoint2d{ @@ -567,8 +569,8 @@ auto HdMapUtils::toLaneletPose( return std::nullopt; } auto pose_on_centerline = spline->getPose(s.value()); - auto rpy = quaternion_operation::convertQuaternionToEulerAngle( - quaternion_operation::getRotation(pose_on_centerline.orientation, pose.orientation)); + auto rpy = math::geometry::convertQuaternionToEulerAngle( + math::geometry::getRotation(pose_on_centerline.orientation, pose.orientation)); double offset = std::sqrt(spline->getSquaredDistanceIn2D(pose.position, s.value())); /** * @note Hard coded parameter @@ -1383,8 +1385,7 @@ auto HdMapUtils::getLaneChangeTrajectory( auto HdMapUtils::getVectorFromPose(const geometry_msgs::msg::Pose & pose, const double magnitude) const -> geometry_msgs::msg::Vector3 { - geometry_msgs::msg::Vector3 dir = - quaternion_operation::convertQuaternionToEulerAngle(pose.orientation); + geometry_msgs::msg::Vector3 dir = math::geometry::convertQuaternionToEulerAngle(pose.orientation); geometry_msgs::msg::Vector3 vector; vector.x = magnitude * std::cos(dir.z); vector.y = magnitude * std::sin(dir.z); @@ -1429,8 +1430,8 @@ auto HdMapUtils::toMapPose( rpy.x = 0.0; rpy.y = fill_pitch ? std::atan2(-tangent_vec.z, std::hypot(tangent_vec.x, tangent_vec.y)) : 0.0; rpy.z = std::atan2(tangent_vec.y, tangent_vec.x); - ret.pose.orientation = quaternion_operation::convertEulerAngleToQuaternion(rpy) * - quaternion_operation::convertEulerAngleToQuaternion(pose->rpy); + ret.pose.orientation = math::geometry::convertEulerAngleToQuaternion(rpy) * + math::geometry::convertEulerAngleToQuaternion(pose->rpy); return ret; } else { THROW_SEMANTIC_ERROR( diff --git a/simulation/traffic_simulator/src/helper/helper.cpp b/simulation/traffic_simulator/src/helper/helper.cpp index 9ebbb59622a..943cf16ea73 100644 --- a/simulation/traffic_simulator/src/helper/helper.cpp +++ b/simulation/traffic_simulator/src/helper/helper.cpp @@ -12,8 +12,8 @@ // See the License for the specific language governing permissions and // limitations under the License. -#include - +#include +#include #include #include @@ -60,7 +60,7 @@ geometry_msgs::msg::Vector3 constructRPY(double roll, double pitch, double yaw) geometry_msgs::msg::Vector3 constructRPYfromQuaternion(geometry_msgs::msg::Quaternion quaternion) { - return quaternion_operation::convertQuaternionToEulerAngle(quaternion); + return math::geometry::convertQuaternionToEulerAngle(quaternion); } geometry_msgs::msg::Pose constructPose( @@ -70,8 +70,7 @@ geometry_msgs::msg::Pose constructPose( pose.position.x = x; pose.position.y = y; pose.position.z = z; - pose.orientation = - quaternion_operation::convertEulerAngleToQuaternion(constructRPY(roll, pitch, yaw)); + pose.orientation = math::geometry::convertEulerAngleToQuaternion(constructRPY(roll, pitch, yaw)); return pose; } diff --git a/simulation/traffic_simulator/src/traffic/traffic_source.cpp b/simulation/traffic_simulator/src/traffic/traffic_source.cpp index 459786e56af..350920a42d1 100644 --- a/simulation/traffic_simulator/src/traffic/traffic_source.cpp +++ b/simulation/traffic_simulator/src/traffic/traffic_source.cpp @@ -13,6 +13,7 @@ // limitations under the License. #include +#include #include #include #include @@ -83,7 +84,7 @@ auto TrafficSource::makeRandomPose(const bool random_orientation) -> geometry_ms random_pose.position.y += radius * std::sin(angle); if (random_orientation) { - random_pose.orientation = quaternion_operation::convertEulerAngleToQuaternion( + random_pose.orientation = math::geometry::convertEulerAngleToQuaternion( traffic_simulator::helper::constructRPY(0.0, 0.0, angle_distribution_(engine_))); } diff --git a/simulation/traffic_simulator/src/visualization/visualization_component.cpp b/simulation/traffic_simulator/src/visualization/visualization_component.cpp index 24f9e1ebffb..6cea709f9d8 100644 --- a/simulation/traffic_simulator/src/visualization/visualization_component.cpp +++ b/simulation/traffic_simulator/src/visualization/visualization_component.cpp @@ -42,8 +42,6 @@ */ -#include - #include #include #include diff --git a/simulation/traffic_simulator/test/CMakeLists.txt b/simulation/traffic_simulator/test/CMakeLists.txt index b51fa32c5b5..713c8b40678 100644 --- a/simulation/traffic_simulator/test/CMakeLists.txt +++ b/simulation/traffic_simulator/test/CMakeLists.txt @@ -1,5 +1,7 @@ add_subdirectory(src/traffic_lights) add_subdirectory(src/helper) add_subdirectory(src/entity) -add_subdirectory(src/hdmap_utils) add_subdirectory(src/behavior) +add_subdirectory(src/job) +add_subdirectory(src/simulation_clock) +add_subdirectory(src/hdmap_utils) diff --git a/simulation/traffic_simulator/test/src/behavior/CMakeLists.txt b/simulation/traffic_simulator/test/src/behavior/CMakeLists.txt index 61eb481d41b..15071521634 100644 --- a/simulation/traffic_simulator/test/src/behavior/CMakeLists.txt +++ b/simulation/traffic_simulator/test/src/behavior/CMakeLists.txt @@ -1,2 +1,8 @@ +ament_add_gtest(test_behavior test_behavior.cpp) +target_link_libraries(test_behavior traffic_simulator) + +ament_add_gtest(test_route_planner test_route_planner.cpp) +target_link_libraries(test_route_planner traffic_simulator) + ament_add_gtest(test_longitudinal_speed_planner test_longitudinal_speed_planner.cpp) target_link_libraries(test_longitudinal_speed_planner traffic_simulator) diff --git a/simulation/traffic_simulator/test/src/behavior/test_behavior.cpp b/simulation/traffic_simulator/test/src/behavior/test_behavior.cpp new file mode 100644 index 00000000000..bddada3f41a --- /dev/null +++ b/simulation/traffic_simulator/test/src/behavior/test_behavior.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 + +int main(int argc, char ** argv) +{ + testing::InitGoogleTest(&argc, argv); + return RUN_ALL_TESTS(); +} + +/** + * @note Test basic functionality. Test whether correct string is retrieved. + */ +TEST(Behavior, getRequestString) +{ + { + std::string str; + EXPECT_NO_THROW( + str = + traffic_simulator::behavior::getRequestString(traffic_simulator::behavior::Request::NONE)); + EXPECT_TRUE("none" == str); + } + + { + std::string str; + EXPECT_NO_THROW( + str = traffic_simulator::behavior::getRequestString( + traffic_simulator::behavior::Request::LANE_CHANGE)); + EXPECT_TRUE("lane_change" == str); + } + + { + std::string str; + EXPECT_NO_THROW( + str = traffic_simulator::behavior::getRequestString( + traffic_simulator::behavior::Request::FOLLOW_LANE)); + EXPECT_TRUE("follow_lane" == str); + } + + { + std::string str; + EXPECT_NO_THROW( + str = traffic_simulator::behavior::getRequestString( + traffic_simulator::behavior::Request::FOLLOW_POLYLINE_TRAJECTORY)); + EXPECT_TRUE("follow_polyline_trajectory" == str); + } + + { + std::string str; + EXPECT_NO_THROW( + str = traffic_simulator::behavior::getRequestString( + traffic_simulator::behavior::Request::WALK_STRAIGHT)); + EXPECT_TRUE("walk_straight" == str); + } +} diff --git a/simulation/traffic_simulator/test/src/behavior/test_route_planner.cpp b/simulation/traffic_simulator/test/src/behavior/test_route_planner.cpp new file mode 100644 index 00000000000..7eff3826d6b --- /dev/null +++ b/simulation/traffic_simulator/test/src/behavior/test_route_planner.cpp @@ -0,0 +1,130 @@ +// 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 "../catalogs.hpp" +#include "../expect_eq_macros.hpp" +#include "../helper_functions.hpp" + +int main(int argc, char ** argv) +{ + testing::InitGoogleTest(&argc, argv); + return RUN_ALL_TESTS(); +} + +class RoutePlannerTest : public testing::Test +{ +protected: + RoutePlannerTest() : hdmap_utils_ptr(makeHdMapUtilsSharedPointer()), planner(hdmap_utils_ptr) {} + + std::shared_ptr hdmap_utils_ptr; + traffic_simulator::RoutePlanner planner; +}; + +/** + * @note Test functionality used by other units. + * Test accessor getGoalPoses. + */ +TEST_F(RoutePlannerTest, getGoalPoses) +{ + const auto in_poses = std::vector{ + makeCanonicalizedLaneletPose(hdmap_utils_ptr, 120659), + makeCanonicalizedLaneletPose(hdmap_utils_ptr, 120660), + makeCanonicalizedLaneletPose(hdmap_utils_ptr, 34468)}; + + planner.setWaypoints(in_poses); + + const auto out_poses = planner.getGoalPoses(); + + EXPECT_EQ(in_poses.size(), out_poses.size()); + for (auto it_in = in_poses.begin(), it_out = out_poses.end(); + it_in != in_poses.end() && it_out != out_poses.end(); ++it_in, ++it_out) { + EXPECT_LANELET_POSE_EQ( + static_cast(*it_in), + static_cast(*it_out)); + } +} + +/** + * @note Test functionality used by other units. + * Test performing transformations by getGoalPosesInWorldFrame accessor. + */ +TEST_F(RoutePlannerTest, getGoalPosesInWorldFrame) +{ + const auto in_poses = std::vector{ + makeCanonicalizedLaneletPose(hdmap_utils_ptr, 120659), + makeCanonicalizedLaneletPose(hdmap_utils_ptr, 120660), + makeCanonicalizedLaneletPose(hdmap_utils_ptr, 34468)}; + + planner.setWaypoints(in_poses); + + const auto out_poses = planner.getGoalPosesInWorldFrame(); + + EXPECT_EQ(in_poses.size(), out_poses.size()); + for (size_t i = 0; i < in_poses.size(); i++) { + EXPECT_POSE_EQ(static_cast(in_poses[i]), out_poses[i]); + } +} + +/** + * @note Test functionality used by other units. + * Test routing correctness with an entity pose and target pose spaced apart for more than horizon. + */ +TEST_F(RoutePlannerTest, getRouteLanelets_horizon) +{ + const lanelet::Id id_target = 34579; + + planner.setWaypoints({makeCanonicalizedLaneletPose(hdmap_utils_ptr, id_target)}); + auto route = + planner.getRouteLanelets(makeCanonicalizedLaneletPose(hdmap_utils_ptr, 120659), 1000.0); + + EXPECT_TRUE(std::find(route.begin(), route.end(), id_target) != route.end()); +} + +/** + * @note Test functionality used by other units. + * Test routing correctness with an entity pose and target pose spaced apart for less than horizon. + */ +TEST_F(RoutePlannerTest, getRouteLanelets_noHorizon) +{ + lanelet::Id id_target = 34579; + + planner.setWaypoints({makeCanonicalizedLaneletPose(hdmap_utils_ptr, id_target)}); + const auto route = + planner.getRouteLanelets(makeCanonicalizedLaneletPose(hdmap_utils_ptr, 120659), 100.0); + + EXPECT_FALSE(std::find(route.begin(), route.end(), id_target) != route.end()); +} + +/** + * @note Test functionality used by other units. + * Test routing correctness with an entity pose and empty waypoints vector + * - the goal is to test function behavior when empty vector is passed. + */ +TEST_F(RoutePlannerTest, getRouteLanelets_empty) +{ + const lanelet::Ids following_ids({120659, 120660, 34468, 34465, 34462}); + + planner.setWaypoints({}); + const auto route = + planner.getRouteLanelets(makeCanonicalizedLaneletPose(hdmap_utils_ptr, 120659), 100.0); + + EXPECT_EQ(route.size(), following_ids.size()); + for (size_t i = 0; i < route.size(); i++) { + EXPECT_EQ(following_ids[i], route[i]); + } +} diff --git a/simulation/traffic_simulator/test/src/entity/CMakeLists.txt b/simulation/traffic_simulator/test/src/entity/CMakeLists.txt index 0e6b9eee47d..0dcb3f4ca29 100644 --- a/simulation/traffic_simulator/test/src/entity/CMakeLists.txt +++ b/simulation/traffic_simulator/test/src/entity/CMakeLists.txt @@ -1,2 +1,5 @@ ament_add_gtest(test_vehicle_entity test_vehicle_entity.cpp) target_link_libraries(test_vehicle_entity traffic_simulator) + +ament_add_gtest(test_misc_object_entity test_misc_object_entity.cpp) +target_link_libraries(test_misc_object_entity traffic_simulator) diff --git a/simulation/traffic_simulator/test/src/entity/test_misc_object_entity.cpp b/simulation/traffic_simulator/test/src/entity/test_misc_object_entity.cpp new file mode 100644 index 00000000000..5a335618fda --- /dev/null +++ b/simulation/traffic_simulator/test/src/entity/test_misc_object_entity.cpp @@ -0,0 +1,594 @@ +// 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 "../catalogs.hpp" +#include "../expect_eq_macros.hpp" +#include "../helper_functions.hpp" + +int main(int argc, char ** argv) +{ + testing::InitGoogleTest(&argc, argv); + return RUN_ALL_TESTS(); +} + +class MiscObjectEntityTest_HdMapUtils : public testing::Test +{ +protected: + MiscObjectEntityTest_HdMapUtils() + : hdmap_utils_ptr(makeHdMapUtilsSharedPointer()), entity_name("misc_object_entity") + { + } + + std::shared_ptr hdmap_utils_ptr; + const std::string entity_name; +}; + +class MiscObjectEntityTest_FullObject : public MiscObjectEntityTest_HdMapUtils +{ +protected: + MiscObjectEntityTest_FullObject() + : id(120659), + pose(makeCanonicalizedLaneletPose(hdmap_utils_ptr, id)), + bbox(makeBoundingBox()), + status(makeCanonicalizedEntityStatus(hdmap_utils_ptr, pose, bbox, 0.0, entity_name)), + misc_object( + entity_name, status, hdmap_utils_ptr, traffic_simulator_msgs::msg::MiscObjectParameters{}), + entity_base(&misc_object) + { + } + + const lanelet::Id id; + traffic_simulator::lanelet_pose::CanonicalizedLaneletPose pose; + traffic_simulator_msgs::msg::BoundingBox bbox; + traffic_simulator::entity_status::CanonicalizedEntityStatus status; + traffic_simulator::entity::MiscObjectEntity misc_object; + traffic_simulator::entity::EntityBase * entity_base; +}; + +/** + * @note Test basic functionality. Test current action obtaining when NPC logic is not started. + */ +TEST_F(MiscObjectEntityTest_HdMapUtils, getCurrentAction_npcNotStarted) +{ + auto non_canonicalized_status = makeEntityStatus( + hdmap_utils_ptr, makeCanonicalizedLaneletPose(hdmap_utils_ptr, 120659), makeBoundingBox(), 0.0, + entity_name, traffic_simulator_msgs::msg::EntityType::MISC_OBJECT); + non_canonicalized_status.action_status.current_action = "current_action_name"; + + const auto blob = traffic_simulator::entity::MiscObjectEntity( + entity_name, + traffic_simulator::entity_status::CanonicalizedEntityStatus( + non_canonicalized_status, hdmap_utils_ptr), + hdmap_utils_ptr, traffic_simulator_msgs::msg::MiscObjectParameters{}); + + EXPECT_FALSE(blob.isNpcLogicStarted()); + EXPECT_EQ(blob.getCurrentAction(), "waiting"); +} + +/** + * @note Test function behavior when absolute speed change is requested - the goal is to test throwing error. + */ +TEST_F(MiscObjectEntityTest_HdMapUtils, requestSpeedChange_absolute) +{ + EXPECT_THROW( + traffic_simulator::entity::MiscObjectEntity( + entity_name, + makeCanonicalizedEntityStatus( + hdmap_utils_ptr, makeCanonicalizedLaneletPose(hdmap_utils_ptr, 120659), makeBoundingBox(), + 0.0, entity_name, traffic_simulator_msgs::msg::EntityType::MISC_OBJECT), + hdmap_utils_ptr, traffic_simulator_msgs::msg::MiscObjectParameters{}) + .requestSpeedChange(10.0, false), + common::SemanticError); +} + +/** + * @note Test function behavior when relative speed change is requested - the goal is to test throwing error. + */ +TEST_F(MiscObjectEntityTest_HdMapUtils, requestSpeedChange_relative) +{ + auto pose = makeCanonicalizedLaneletPose(hdmap_utils_ptr, 120659); + auto bbox = makeBoundingBox(); + + auto blob = traffic_simulator::entity::MiscObjectEntity( + entity_name, + makeCanonicalizedEntityStatus( + hdmap_utils_ptr, pose, bbox, 0.0, entity_name, + traffic_simulator_msgs::msg::EntityType::MISC_OBJECT), + hdmap_utils_ptr, traffic_simulator_msgs::msg::MiscObjectParameters{}); + + std::unordered_map + others; + others.emplace( + "other_entity", makeCanonicalizedEntityStatus( + hdmap_utils_ptr, pose, bbox, 17.0, "other_entity_name", + traffic_simulator_msgs::msg::EntityType::MISC_OBJECT)); + blob.setOtherStatus(others); + + EXPECT_THROW( + blob.requestSpeedChange( + traffic_simulator::speed_change::RelativeTargetSpeed( + "other_entity", traffic_simulator::speed_change::RelativeTargetSpeed::Type::DELTA, 3.0), + true), + common::SemanticError); +} + +/** + * @note Test function behavior when relative speed change with transition type is requested + * - the goal is to test throwing error. + */ +TEST_F(MiscObjectEntityTest_HdMapUtils, requestSpeedChange_absoluteTransition) +{ + EXPECT_THROW( + traffic_simulator::entity::MiscObjectEntity( + entity_name, + makeCanonicalizedEntityStatus( + hdmap_utils_ptr, makeCanonicalizedLaneletPose(hdmap_utils_ptr, 120659), makeBoundingBox(), + 0.0, entity_name, traffic_simulator_msgs::msg::EntityType::MISC_OBJECT), + hdmap_utils_ptr, traffic_simulator_msgs::msg::MiscObjectParameters{}) + .requestSpeedChange( + 10.0, traffic_simulator::speed_change::Transition::AUTO, + traffic_simulator::speed_change::Constraint( + traffic_simulator::speed_change::Constraint::Type::NONE, 0.0), + false), + common::SemanticError); +} + +/** + * @note Test function behavior when route assigning is requested with lanelet pose + * - the goal is to test throwing error. + */ +TEST_F(MiscObjectEntityTest_HdMapUtils, requestAssignRoute_laneletPose) +{ + EXPECT_THROW( + traffic_simulator::entity::MiscObjectEntity( + entity_name, + makeCanonicalizedEntityStatus( + hdmap_utils_ptr, makeCanonicalizedLaneletPose(hdmap_utils_ptr, 120659), makeBoundingBox(), + 0.0, entity_name, traffic_simulator_msgs::msg::EntityType::MISC_OBJECT), + hdmap_utils_ptr, traffic_simulator_msgs::msg::MiscObjectParameters{}) + .requestAssignRoute(std::vector{ + makeCanonicalizedLaneletPose(hdmap_utils_ptr, 120660)}), + common::SemanticError); +} + +/** + * @note Test function behavior when route assigning is requested with pose + * - the goal is to test throwing error. + */ +TEST_F(MiscObjectEntityTest_HdMapUtils, requestAssignRoute_pose) +{ + EXPECT_THROW( + traffic_simulator::entity::MiscObjectEntity( + entity_name, + makeCanonicalizedEntityStatus( + hdmap_utils_ptr, makeCanonicalizedLaneletPose(hdmap_utils_ptr, 120659), makeBoundingBox(), + 0.0, entity_name, traffic_simulator_msgs::msg::EntityType::MISC_OBJECT), + hdmap_utils_ptr, traffic_simulator_msgs::msg::MiscObjectParameters{}) + .requestAssignRoute( + std::vector{makePose(makePoint(3759.34, 73791.38))}), + common::SemanticError); +} + +/** + * @note Test function behavior when position acquiring is requested with lanelet pose + * - the goal is to test throwing error. + */ +TEST_F(MiscObjectEntityTest_HdMapUtils, requestAcquirePosition_laneletPose) +{ + EXPECT_THROW( + traffic_simulator::entity::MiscObjectEntity( + entity_name, + makeCanonicalizedEntityStatus( + hdmap_utils_ptr, makeCanonicalizedLaneletPose(hdmap_utils_ptr, 120659), makeBoundingBox(), + 0.0, entity_name, traffic_simulator_msgs::msg::EntityType::MISC_OBJECT), + hdmap_utils_ptr, traffic_simulator_msgs::msg::MiscObjectParameters{}) + .requestAcquirePosition(makeCanonicalizedLaneletPose(hdmap_utils_ptr, 120660)), + common::SemanticError); +} + +/** + * @note Test function behavior when position acquiring is requested with pose + * - the goal is to test throwing error. + */ +TEST_F(MiscObjectEntityTest_HdMapUtils, requestAcquirePosition_pose) +{ + EXPECT_THROW( + traffic_simulator::entity::MiscObjectEntity( + entity_name, + makeCanonicalizedEntityStatus( + hdmap_utils_ptr, makeCanonicalizedLaneletPose(hdmap_utils_ptr, 120659), makeBoundingBox(), + 0.0, entity_name, traffic_simulator_msgs::msg::EntityType::MISC_OBJECT), + hdmap_utils_ptr, traffic_simulator_msgs::msg::MiscObjectParameters{}) + .requestAcquirePosition(makePose(makePoint(3759.34, 73791.38))), + common::SemanticError); +} + +/** + * @note Test function behavior when called with any argument - the goal is to test error throwing. + */ +TEST_F(MiscObjectEntityTest_HdMapUtils, getRouteLanelets) +{ + EXPECT_THROW( + traffic_simulator::entity::MiscObjectEntity( + entity_name, + makeCanonicalizedEntityStatus( + hdmap_utils_ptr, makeCanonicalizedLaneletPose(hdmap_utils_ptr, 120659), makeBoundingBox(), + 0.0, entity_name, traffic_simulator_msgs::msg::EntityType::MISC_OBJECT), + hdmap_utils_ptr, traffic_simulator_msgs::msg::MiscObjectParameters{}) + .getRouteLanelets(100.0), + common::SemanticError); +} + +/** + * @note Test basic functionality; test whether the function does nothing. + */ +TEST_F(MiscObjectEntityTest_FullObject, appendDebugMarker) +{ + visualization_msgs::msg::MarkerArray markers{}; + + { + auto markers_copy = markers; + misc_object.appendDebugMarker(markers); + EXPECT_EQ(markers.markers.size(), markers_copy.markers.size()); + } + + markers.markers.push_back([] { + auto marker = visualization_msgs::msg::Marker{}; + marker.action = visualization_msgs::msg::Marker::ADD; + marker.type = visualization_msgs::msg::Marker::ARROW; + marker.pose.position.x = 10.0; + marker.pose.position.y = 10.0; + return marker; + }()); + + { + auto markers_copy = markers; + misc_object.appendDebugMarker(markers); + EXPECT_EQ(markers.markers.size(), markers_copy.markers.size()); + } +} + +/** + * @note Test basic functionality; test whether the function throws an error. + */ +TEST_F(MiscObjectEntityTest_FullObject, asFieldOperatorApplication) +{ + EXPECT_THROW(misc_object.asFieldOperatorApplication(), common::Error); +} + +/** + * @note Test functionality used by other units; test correctness of 2d polygon calculations. + */ +TEST_F(MiscObjectEntityTest_FullObject, get2DPolygon) +{ + const auto polygon = misc_object.get2DPolygon(); + + std::vector ref_poly{ + makePoint(-1.0, -1.0), makePoint(-1.0, 1.0), makePoint(3.0, 1.0), makePoint(3.0, -1.0), + makePoint(-1.0, -1.0)}; + + EXPECT_EQ(polygon.size(), ref_poly.size()); + EXPECT_POINT_EQ(polygon.at(0), ref_poly.at(0)); + EXPECT_POINT_EQ(polygon.at(1), ref_poly.at(1)); + EXPECT_POINT_EQ(polygon.at(2), ref_poly.at(2)); + EXPECT_POINT_EQ(polygon.at(3), ref_poly.at(3)); + EXPECT_POINT_EQ(polygon.at(4), ref_poly.at(4)); +} + +/** + * @note Test basic functionality; test whether the NPC logic is started correctly. + */ +TEST_F(MiscObjectEntityTest_FullObject, startNpcLogic) +{ + EXPECT_FALSE(misc_object.isNpcLogicStarted()); + misc_object.startNpcLogic(0.0); + EXPECT_TRUE(misc_object.isNpcLogicStarted()); +} + +/** + * @note Test basic functionality; test activating an out of range job with + * an entity that has a positive speed and a speed range specified in the job = [0, 0] + */ +TEST_F(MiscObjectEntityTest_FullObject, activateOutOfRangeJob_speed) +{ + misc_object.setLinearVelocity(1.0); + misc_object.activateOutOfRangeJob(0.0, 0.0, -100.0, 100.0, -100.0, 100.0); + + constexpr double current_time = 0.0; + constexpr double step_time = 0.0; + EXPECT_NO_THROW(misc_object.EntityBase::onUpdate(current_time, step_time)); + EXPECT_THROW(misc_object.onPostUpdate(current_time, step_time), common::Error); +} + +/** + * @note Test basic functionality; test activating an out of range job + * with an entity that has a positive acceleration + * and an acceleration range specified in the job = [0, 0]. + */ +TEST_F(MiscObjectEntityTest_FullObject, activateOutOfRangeJob_acceleration) +{ + misc_object.setLinearAcceleration(1.0); + misc_object.activateOutOfRangeJob(-100.0, 100.0, 0.0, 0.0, -100.0, 100.0); + + constexpr double current_time = 0.0; + constexpr double step_time = 0.0; + EXPECT_NO_THROW(misc_object.EntityBase::onUpdate(current_time, step_time)); + EXPECT_THROW(misc_object.onPostUpdate(current_time, step_time), common::Error); +} + +/** + * @note Test basic functionality; test activating an out of range job + * with an entity that has a positive jerk + * and a jerk range specified in the job = [0, 0]. + */ +TEST_F(MiscObjectEntityTest_FullObject, activateOutOfRangeJob_jerk) +{ + misc_object.setLinearJerk(1.0); + misc_object.activateOutOfRangeJob(-100.0, 100.0, -100.0, 100.0, 0.0, 0.0); + + constexpr double current_time = 0.0; + constexpr double step_time = 0.0; + EXPECT_NO_THROW(misc_object.EntityBase::onUpdate(current_time, step_time)); + EXPECT_THROW(misc_object.onPostUpdate(current_time, step_time), common::Error); +} + +/** + * @note Test basic functionality; test wrapper function with invalid relative target lanelet pose. + */ +TEST_F(MiscObjectEntityTest_FullObject, requestLaneChange_relativeTargetLaneletPose) +{ + const std::string target_name = "target_name"; + + auto other_status = + std::unordered_map{}; + other_status.emplace( + target_name, + makeCanonicalizedEntityStatus(hdmap_utils_ptr, makePose(makePoint(3810.0, 73745.0)), bbox)); + + entity_base->setOtherStatus(other_status); + + EXPECT_THROW(entity_base->requestLaneChange( + traffic_simulator::lane_change::RelativeTarget( + target_name, traffic_simulator::lane_change::Direction::STRAIGHT, 3, 1.0), + traffic_simulator::lane_change::TrajectoryShape::LINEAR, + traffic_simulator::lane_change::Constraint( + traffic_simulator::lane_change::Constraint::Type::TIME, 30.0, + traffic_simulator::lane_change::Constraint::Policy::BEST_EFFORT)); + , common::Error); +} + +/** + * @note Test basic functionality; test wrapper function with invalid relative target name. + */ +TEST_F(MiscObjectEntityTest_FullObject, requestLaneChange_relativeTargetName) +{ + const std::string target_name = "target_name"; + + auto other_status = + std::unordered_map{}; + other_status.emplace( + target_name, + makeCanonicalizedEntityStatus( + hdmap_utils_ptr, makeCanonicalizedLaneletPose(hdmap_utils_ptr, 34468, 5.0), bbox)); + + entity_base->setOtherStatus(other_status); + EXPECT_THROW( + entity_base->requestLaneChange( + traffic_simulator::lane_change::RelativeTarget( + target_name + "_wrong", traffic_simulator::lane_change::Direction::STRAIGHT, 3, 1.0), + traffic_simulator::lane_change::TrajectoryShape::LINEAR, + traffic_simulator::lane_change::Constraint( + traffic_simulator::lane_change::Constraint::Type::TIME, 30.0, + traffic_simulator::lane_change::Constraint::Policy::BEST_EFFORT)), + common::Error); +} + +/** + * @note Test basic functionality; test wrapper function with invalid relative target lane change + * - the goal is to request a lane change in the location where the lane change is impossible. + */ +TEST_F(MiscObjectEntityTest_FullObject, requestLaneChange_relativeTargetInvalid) +{ + const std::string target_name = "target_name"; + + auto other_status = + std::unordered_map{}; + other_status.emplace( + target_name, + makeCanonicalizedEntityStatus( + hdmap_utils_ptr, makeCanonicalizedLaneletPose(hdmap_utils_ptr, 34468, 5.0), bbox)); + + entity_base->setOtherStatus(other_status); + EXPECT_THROW( + entity_base->requestLaneChange( + traffic_simulator::lane_change::RelativeTarget( + target_name, traffic_simulator::lane_change::Direction::RIGHT, + std::numeric_limits::max(), 1.0), + traffic_simulator::lane_change::TrajectoryShape::LINEAR, + traffic_simulator::lane_change::Constraint( + traffic_simulator::lane_change::Constraint::Type::TIME, 30.0, + traffic_simulator::lane_change::Constraint::Policy::BEST_EFFORT)), + common::Error); +} + +/** + * @note Test function behavior when called with any argument - the goal is to test error throwing. + */ +TEST_F(MiscObjectEntityTest_FullObject, requestFollowTrajectory) +{ + EXPECT_THROW( + misc_object.requestFollowTrajectory( + std::make_shared()), + common::Error); +} + +/** + * @note Test function behavior when called with any argument - the goal is to test error throwing. + */ +TEST_F(MiscObjectEntityTest_FullObject, requestWalkStraight) +{ + EXPECT_THROW(misc_object.requestWalkStraight(), common::Error); +} + +/** + * @note test basic functionality; test updating stand still duration + * when NPC logic is started and velocity is greater than 0. + */ +TEST_F(MiscObjectEntityTest_FullObject, updateStandStillDuration_startedMoving) +{ + misc_object.startNpcLogic(0.0); + misc_object.setLinearVelocity(3.0); + + EXPECT_EQ(0.0, misc_object.updateStandStillDuration(0.1)); +} + +/** + * @note Test basic functionality; test updating stand still duration + * when NPC logic is not started. + */ +TEST_F(MiscObjectEntityTest_FullObject, updateStandStillDuration_notStarted) +{ + misc_object.setLinearVelocity(3.0); + EXPECT_EQ(0.0, misc_object.updateStandStillDuration(0.1)); + + misc_object.setLinearVelocity(0.0); + EXPECT_EQ(0.0, misc_object.updateStandStillDuration(0.1)); +} + +/** + * @note Test basic functionality; test updating traveled distance correctness + * with NPC logic started and velocity greater than 0. + */ +TEST_F(MiscObjectEntityTest_FullObject, updateTraveledDistance_startedMoving) +{ + constexpr double velocity = 3.0; + constexpr double step_time = 0.1; + misc_object.startNpcLogic(0.0); + misc_object.setLinearVelocity(velocity); + + EXPECT_EQ(1.0 * step_time * velocity, misc_object.updateTraveledDistance(step_time)); + EXPECT_EQ(2.0 * step_time * velocity, misc_object.updateTraveledDistance(step_time)); + EXPECT_EQ(3.0 * step_time * velocity, misc_object.updateTraveledDistance(step_time)); + EXPECT_EQ(4.0 * step_time * velocity, misc_object.updateTraveledDistance(step_time)); +} + +/** + * @note Test basic functionality; test updating traveled distance correctness with NPC not started. + */ +TEST_F(MiscObjectEntityTest_FullObject, updateTraveledDistance_notStarted) +{ + constexpr double step_time = 0.1; + misc_object.setLinearVelocity(3.0); + EXPECT_EQ(0.0, misc_object.updateTraveledDistance(step_time)); + + misc_object.setLinearVelocity(0.0); + EXPECT_EQ(0.0, misc_object.updateTraveledDistance(step_time)); +} + +/** + * @note Test basic functionality; test stopping correctness - the goal + * is to check whether the entity status is changed to stopped (no velocity etc.). + */ +TEST_F(MiscObjectEntityTest_FullObject, stopAtCurrentPosition) +{ + constexpr double velocity = 3.0; + misc_object.setLinearVelocity(velocity); + EXPECT_EQ(misc_object.getCurrentTwist().linear.x, velocity); + + misc_object.stopAtCurrentPosition(); + EXPECT_EQ(misc_object.getCurrentTwist().linear.x, 0.0); +} + +/** + * @note Test functionality used by other units; test relative pose calculations + * correctness with a transformation argument passed. + */ +TEST_F(MiscObjectEntityTest_FullObject, getMapPoseFromRelativePose_relative) +{ + constexpr double s = 5.0; + EXPECT_POSE_NEAR( + misc_object.getMapPoseFromRelativePose(makePose(makePoint(s, 0.0))), + static_cast(makeCanonicalizedLaneletPose(hdmap_utils_ptr, id, s)), + 0.1); +} + +/** + * @note Test functionality used by other units; test lanelet pose obtaining + * with a matching distance smaller than a distance from an entity to the lanelet + * (both crosswalk and road) and status_.type.type != PEDESTRIAN. + */ +TEST_F(MiscObjectEntityTest_HdMapUtils, getLaneletPose_notOnRoadAndCrosswalkNotPedestrian) +{ + EXPECT_FALSE(traffic_simulator::entity::MiscObjectEntity( + entity_name, + traffic_simulator::CanonicalizedEntityStatus( + makeEntityStatus( + hdmap_utils_ptr, makePose(makePoint(3810.0, 73745.0)), makeBoundingBox(), 0.0, + entity_name, traffic_simulator_msgs::msg::EntityType::MISC_OBJECT), + hdmap_utils_ptr), + hdmap_utils_ptr, traffic_simulator_msgs::msg::MiscObjectParameters{}) + .getLaneletPose(5.0) + .has_value()); +} + +/** + * @note Test functionality used by other units; test lanelet pose obtaining + * with a matching distance greater than a distance from an entity to the lanelet + * (both crosswalk and road) and status_.type.type != PEDESTRIAN. + */ +TEST_F(MiscObjectEntityTest_HdMapUtils, getLaneletPose_onRoadAndCrosswalkNotPedestrian) +{ + EXPECT_TRUE( + traffic_simulator::entity::MiscObjectEntity( + entity_name, + traffic_simulator::CanonicalizedEntityStatus( + makeEntityStatus( + hdmap_utils_ptr, + makePose(makePoint(3766.1, 73738.2), makeQuaternionFromYaw((120.0) * M_PI / 180.0)), + makeBoundingBox(), 0.0, entity_name, + traffic_simulator_msgs::msg::EntityType::MISC_OBJECT), + hdmap_utils_ptr), + hdmap_utils_ptr, traffic_simulator_msgs::msg::MiscObjectParameters{}) + .getLaneletPose(1.0) + .has_value()); +} + +/** + * @note Test functionality used by other units; test lanelet pose obtaining + * with a matching distance greater than a distance from an entity to the crosswalk lanelet, + * but smaller than to the road lanelet and status_.type.type != PEDESTRIAN. + */ +TEST_F(MiscObjectEntityTest_HdMapUtils, getLaneletPose_onCrosswalkNotOnRoadNotPedestrian) +{ + EXPECT_FALSE( + traffic_simulator::entity::MiscObjectEntity( + entity_name, + traffic_simulator::CanonicalizedEntityStatus( + makeEntityStatus( + hdmap_utils_ptr, + makePose(makePoint(3764.5, 73737.5), makeQuaternionFromYaw((120.0) * M_PI / 180.0)), + makeBoundingBox(), 0.0, entity_name, + traffic_simulator_msgs::msg::EntityType::MISC_OBJECT), + hdmap_utils_ptr), + hdmap_utils_ptr, traffic_simulator_msgs::msg::MiscObjectParameters{}) + .getLaneletPose(1.0) + .has_value()); +} 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 834a0576386..1ac7370e66e 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 @@ -16,45 +16,13 @@ #include #include +#include #include #include #include #include "../expect_eq_macros.hpp" - -auto makePoint(const double x, const double y, const double z = 0.0) -> geometry_msgs::msg::Point -{ - return geometry_msgs::build().x(x).y(y).z(z); -} - -auto makeBoundingBox(const double center_y = 0.0) -> traffic_simulator_msgs::msg::BoundingBox -{ - return traffic_simulator_msgs::build() - .center(makePoint(1.0, center_y)) - .dimensions(geometry_msgs::build().x(4.0).y(2.0).z(1.5)); -} - -auto makePose( - geometry_msgs::msg::Point position, - geometry_msgs::msg::Quaternion orientation = geometry_msgs::msg::Quaternion()) - -> geometry_msgs::msg::Pose -{ - return geometry_msgs::build().position(position).orientation( - orientation); -} - -auto makeSmallBoundingBox(const double center_y = 0.0) -> traffic_simulator_msgs::msg::BoundingBox -{ - return traffic_simulator_msgs::build() - .center(makePoint(0.0, center_y)) - .dimensions(geometry_msgs::build().x(1.0).y(1.0).z(1.0)); -} - -auto makeQuaternionFromYaw(const double yaw) -> geometry_msgs::msg::Quaternion -{ - return quaternion_operation::convertEulerAngleToQuaternion( - geometry_msgs::build().x(0.0).y(0.0).z(yaw)); -} +#include "../helper_functions.hpp" int main(int argc, char ** argv) { diff --git a/simulation/traffic_simulator/test/src/helper_functions.hpp b/simulation/traffic_simulator/test/src/helper_functions.hpp new file mode 100644 index 00000000000..4b68528b152 --- /dev/null +++ b/simulation/traffic_simulator/test/src/helper_functions.hpp @@ -0,0 +1,146 @@ +// 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 TRAFFIC_SIMULATOR__TEST__HELPER_FUNCTIONS_HPP_ +#define TRAFFIC_SIMULATOR__TEST__HELPER_FUNCTIONS_HPP_ + +#include +#include +#include +#include +#include +#include +#include + +#include "catalogs.hpp" +#include "expect_eq_macros.hpp" + +auto makePoint(const double x, const double y, const double z = 0.0) -> geometry_msgs::msg::Point +{ + return geometry_msgs::build().x(x).y(y).z(z); +} + +auto makeBoundingBox(const double center_y = 0.0) -> traffic_simulator_msgs::msg::BoundingBox +{ + return traffic_simulator_msgs::build() + .center(makePoint(1.0, center_y)) + .dimensions(geometry_msgs::build().x(4.0).y(2.0).z(1.5)); +} + +auto makeSmallBoundingBox(const double center_y = 0.0) -> traffic_simulator_msgs::msg::BoundingBox +{ + return traffic_simulator_msgs::build() + .center(makePoint(0.0, center_y)) + .dimensions(geometry_msgs::build().x(1.0).y(1.0).z(1.0)); +} + +auto makeQuaternionFromYaw(const double yaw) -> geometry_msgs::msg::Quaternion +{ + return math::geometry::convertEulerAngleToQuaternion( + geometry_msgs::build().x(0.0).y(0.0).z(yaw)); +} + +auto makePose( + geometry_msgs::msg::Point position, + geometry_msgs::msg::Quaternion orientation = geometry_msgs::msg::Quaternion()) + -> geometry_msgs::msg::Pose +{ + return geometry_msgs::build().position(position).orientation( + orientation); +} + +auto makeHdMapUtilsSharedPointer() -> std::shared_ptr +{ + return std::make_shared( + ament_index_cpp::get_package_share_directory("traffic_simulator") + "/map/lanelet2_map.osm", + geographic_msgs::build() + .latitude(35.9037067912303) + .longitude(139.9337945139059) + .altitude(0.0)); +} + +auto makeCanonicalizedLaneletPose( + std::shared_ptr hdmap_utils, const lanelet::Id id = 120659, + const double s = 0.0, const double offset = 0.0) + -> traffic_simulator::lanelet_pose::CanonicalizedLaneletPose +{ + return traffic_simulator::lanelet_pose::CanonicalizedLaneletPose( + traffic_simulator::helper::constructLaneletPose(id, s, offset), hdmap_utils); +} + +auto makeEntityStatus( + std::shared_ptr hdmap_utils, + traffic_simulator::lanelet_pose::CanonicalizedLaneletPose pose, + traffic_simulator_msgs::msg::BoundingBox bbox, const double speed = 0.0, + const std::string name = "default_entity_name", + const uint8_t type = traffic_simulator_msgs::msg::EntityType::VEHICLE) + -> traffic_simulator::EntityStatus +{ + return traffic_simulator_msgs::build() + .type(traffic_simulator_msgs::build().type(type)) + .subtype(traffic_simulator_msgs::build().value( + traffic_simulator_msgs::msg::EntitySubtype::UNKNOWN)) + .time(0.0) + .name(name) + .bounding_box(bbox) + .action_status(traffic_simulator::helper::constructActionStatus(speed, 0.0, 0.0, 0.0)) + .pose(hdmap_utils->toMapPose(static_cast(pose)).pose) + .lanelet_pose(static_cast(pose)) + .lanelet_pose_valid(true); +} + +auto makeEntityStatus( + std::shared_ptr /* hdmap_utils */, geometry_msgs::msg::Pose pose, + traffic_simulator_msgs::msg::BoundingBox bbox, const double speed = 0.0, + const std::string name = "default_entity_name", + const uint8_t type = traffic_simulator_msgs::msg::EntityType::VEHICLE) + -> traffic_simulator::EntityStatus +{ + return traffic_simulator_msgs::build() + .type(traffic_simulator_msgs::build().type(type)) + .subtype(traffic_simulator_msgs::build().value( + traffic_simulator_msgs::msg::EntitySubtype::UNKNOWN)) + .time(0.0) + .name(name) + .bounding_box(bbox) + .action_status(traffic_simulator::helper::constructActionStatus(speed, 0.0, 0.0, 0.0)) + .pose(pose) + .lanelet_pose(traffic_simulator_msgs::msg::LaneletPose{}) + .lanelet_pose_valid(false); +} + +auto makeCanonicalizedEntityStatus( + std::shared_ptr hdmap_utils, + traffic_simulator::lanelet_pose::CanonicalizedLaneletPose pose, + traffic_simulator_msgs::msg::BoundingBox bbox, const double speed = 0.0, + const std::string name = "default_entity_name", + const uint8_t type = traffic_simulator_msgs::msg::EntityType::VEHICLE) + -> traffic_simulator::entity_status::CanonicalizedEntityStatus +{ + return traffic_simulator::entity_status::CanonicalizedEntityStatus( + makeEntityStatus(hdmap_utils, pose, bbox, speed, name, type), hdmap_utils); +} + +auto makeCanonicalizedEntityStatus( + std::shared_ptr hdmap_utils, geometry_msgs::msg::Pose pose, + traffic_simulator_msgs::msg::BoundingBox bbox, const double speed = 0.0, + const std::string name = "default_entity_name", + const uint8_t type = traffic_simulator_msgs::msg::EntityType::VEHICLE) + -> traffic_simulator::entity_status::CanonicalizedEntityStatus +{ + return traffic_simulator::entity_status::CanonicalizedEntityStatus( + makeEntityStatus(hdmap_utils, pose, bbox, speed, name, type), hdmap_utils); +} + +#endif // TRAFFIC_SIMULATOR__TEST__ENTITY_HELPER_FUNCTIONS_HPP_ diff --git a/simulation/traffic_simulator/test/src/job/CMakeLists.txt b/simulation/traffic_simulator/test/src/job/CMakeLists.txt new file mode 100644 index 00000000000..8c52603c90a --- /dev/null +++ b/simulation/traffic_simulator/test/src/job/CMakeLists.txt @@ -0,0 +1,5 @@ +ament_add_gtest(test_job test_job.cpp) +target_link_libraries(test_job traffic_simulator) + +ament_add_gtest(test_job_list test_job_list.cpp) +target_link_libraries(test_job_list traffic_simulator) diff --git a/simulation/traffic_simulator/test/src/job/test_job.cpp b/simulation/traffic_simulator/test/src/job/test_job.cpp new file mode 100644 index 00000000000..cccdb367e70 --- /dev/null +++ b/simulation/traffic_simulator/test/src/job/test_job.cpp @@ -0,0 +1,42 @@ +// 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 + +int main(int argc, char ** argv) +{ + testing::InitGoogleTest(&argc, argv); + return RUN_ALL_TESTS(); +} + +/** + * @note Test basic functionality. Test functions execution correctness with a function on update + * that returns true and function on cleanup that marks that it was called + * - the goal is to check whether the function on cleanup is called + * after calling onUpdate (which immediately finishes). + */ +TEST(Job, onUpdate) +{ + bool was_cleanup_func_called = false; + + auto job = traffic_simulator::job::Job( + [](const double) { return true; }, + [&was_cleanup_func_called]() { was_cleanup_func_called = true; }, + traffic_simulator::job::Type::UNKOWN, true, traffic_simulator::job::Event::POST_UPDATE); + job.onUpdate(0.0); + + EXPECT_TRUE(was_cleanup_func_called); +} diff --git a/simulation/traffic_simulator/test/src/job/test_job_list.cpp b/simulation/traffic_simulator/test/src/job/test_job_list.cpp new file mode 100644 index 00000000000..1b77b7dfc28 --- /dev/null +++ b/simulation/traffic_simulator/test/src/job/test_job_list.cpp @@ -0,0 +1,117 @@ +// 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 + +int main(int argc, char ** argv) +{ + testing::InitGoogleTest(&argc, argv); + return RUN_ALL_TESTS(); +} + +/** + * @note Test basic functionality. + * Test adding a job to an empty job list and (test whether adding worked by calling update). + */ +TEST(JobList, append) +{ + bool was_cleanup_func_called = false; + const auto event = traffic_simulator::job::Event::POST_UPDATE; + + auto job_list = traffic_simulator::job::JobList(); + + job_list.append( + [](const double) { return true; }, + [&was_cleanup_func_called]() { was_cleanup_func_called = true; }, + traffic_simulator::job::Type::UNKOWN, true, event); + + job_list.update(0.0, event); + + EXPECT_TRUE(was_cleanup_func_called); +} + +/** + * @note Test basic functionality. Test adding a job to a job list that already + * has an identical job (test whether adding worked by calling update) + * - the goal is to test whether the old job was removed when adding identical one. + */ +TEST(JobList, append_doubled) +{ + bool first_cleanup = false; + bool first_update = false; + bool second_cleanup = false; + bool second_update = false; + + const auto type = traffic_simulator::job::Type::UNKOWN; + const auto event = traffic_simulator::job::Event::POST_UPDATE; + const bool is_exclusive = true; + + auto job_list = traffic_simulator::job::JobList(); + + job_list.append( + [&first_update](const double) { return first_update = true; }, + [&first_cleanup]() { first_cleanup = true; }, type, is_exclusive, event); + job_list.append( + [&second_update](const double) { return second_update = true; }, + [&second_cleanup]() { second_cleanup = true; }, type, is_exclusive, event); + + job_list.update(0.0, event); + + EXPECT_TRUE(first_cleanup); + EXPECT_FALSE(first_update); + EXPECT_TRUE(second_cleanup); + EXPECT_TRUE(second_update); +} + +/** + * @note Test basic functionality. Test updating process with a job that will end after 2 updates + * and will mark that it has cleaned up. + */ +TEST(JobList, update) +{ + int update_count = 0; + int cleanup_count = 0; + + const auto event = traffic_simulator::job::Event::POST_UPDATE; + auto job_list = traffic_simulator::job::JobList(); + + job_list.append( + [&update_count](const double) { + update_count++; + return update_count >= 2; + }, + [&cleanup_count]() { cleanup_count++; }, traffic_simulator::job::Type::UNKOWN, true, event); + + const double step_time = 0.0; + + EXPECT_EQ(0, update_count); + EXPECT_EQ(0, cleanup_count); + + job_list.update(step_time, event); + + EXPECT_EQ(1, update_count); + EXPECT_EQ(0, cleanup_count); + + job_list.update(step_time, event); + + EXPECT_EQ(2, update_count); + EXPECT_EQ(1, cleanup_count); + + job_list.update(step_time, event); + + EXPECT_EQ(2, update_count); + EXPECT_EQ(1, cleanup_count); +} diff --git a/simulation/traffic_simulator/test/src/simulation_clock/CMakeLists.txt b/simulation/traffic_simulator/test/src/simulation_clock/CMakeLists.txt new file mode 100644 index 00000000000..db5773d24ce --- /dev/null +++ b/simulation/traffic_simulator/test/src/simulation_clock/CMakeLists.txt @@ -0,0 +1,2 @@ +ament_add_gtest(test_simulation_clock test_simulation_clock.cpp) +target_link_libraries(test_simulation_clock traffic_simulator) diff --git a/simulation/traffic_simulator/test/src/simulation_clock/test_simulation_clock.cpp b/simulation/traffic_simulator/test/src/simulation_clock/test_simulation_clock.cpp new file mode 100644 index 00000000000..96e57887d90 --- /dev/null +++ b/simulation/traffic_simulator/test/src/simulation_clock/test_simulation_clock.cpp @@ -0,0 +1,105 @@ +// 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 + +/** + * @note Test basic functionality used in API. + * Test initialization logic by calling update without initialized clock + * - the goal is to verify that mandatory initialization works. + */ +TEST(SimulationClock, Initialize) +{ + auto simulation_clock = traffic_simulator::SimulationClock(true, 1.0, 10.0); + + EXPECT_FALSE(simulation_clock.started()); + simulation_clock.update(); + EXPECT_NO_THROW(simulation_clock.start()); + + EXPECT_TRUE(simulation_clock.started()); + simulation_clock.update(); + EXPECT_THROW(simulation_clock.start(), std::runtime_error); +} + +/** + * @note Test basic functionality used in API. Test time obtaining correctness with initialized object + * and not using raw clock - the goal is to test whether the time has increased + * according to the times of update function calls. + */ +TEST(SimulationClock, getCurrentRosTime) +{ + const double realtime_factor = 2.0; + const double frame_rate = 10.0; + auto simulation_clock = traffic_simulator::SimulationClock(true, realtime_factor, frame_rate); + simulation_clock.start(); + + const auto initial_time = simulation_clock.getCurrentRosTime(); + + const int iterations = 5; + for (int i = 0; i < iterations; ++i) { + simulation_clock.update(); + } + + EXPECT_NEAR( + (simulation_clock.getCurrentRosTime() - initial_time).seconds(), + static_cast(iterations) * realtime_factor / frame_rate, 1e-6); +} + +/** + * @note Test basic functionality used in API. Test scenario time calculation correctness with initialized object, + * npc logic started after several update() calls and additional update() calls after starting npc logic. + */ +TEST(SimulationClock, getCurrentScenarioTime) +{ + const double realtime_factor = 1.0; + const double frame_rate = 30.0; + auto simulation_clock = traffic_simulator::SimulationClock(true, realtime_factor, frame_rate); + + simulation_clock.start(); + + EXPECT_DOUBLE_EQ(simulation_clock.getCurrentScenarioTime(), 0.0); + + const int iterations = 5; + for (int i = 0; i < iterations; ++i) { + simulation_clock.update(); + } + + EXPECT_NEAR( + static_cast(iterations) * realtime_factor / frame_rate, + simulation_clock.getCurrentScenarioTime(), 1e-6); +} + +/** + * @note Test basic functionality used in API. Test updating correctness with initialized object + * by calling update several times expecting the current time to increase accordingly. + */ +TEST(SimulationClock, Update) +{ + auto simulation_clock = traffic_simulator::SimulationClock(true, 1.0, 10.0); + + simulation_clock.start(); + + const double initial_simulation_time = simulation_clock.getCurrentSimulationTime(); + const double step_time = simulation_clock.getStepTime(); + + for (int i = 0; i < 10; ++i) { + simulation_clock.update(); + const double expected_simulation_time = + initial_simulation_time + static_cast(i + 1) * step_time; + const double actual_simulation_time = simulation_clock.getCurrentSimulationTime(); + EXPECT_NEAR(actual_simulation_time, expected_simulation_time, 1e-6); + } +} diff --git a/simulation/traffic_simulator/test/src/traffic_lights/test_traffic_light.cpp b/simulation/traffic_simulator/test/src/traffic_lights/test_traffic_light.cpp index dfe01019f5e..b77ec381cab 100644 --- a/simulation/traffic_simulator/test/src/traffic_lights/test_traffic_light.cpp +++ b/simulation/traffic_simulator/test/src/traffic_lights/test_traffic_light.cpp @@ -20,6 +20,12 @@ #include #include +int main(int argc, char ** argv) +{ + testing::InitGoogleTest(&argc, argv); + return RUN_ALL_TESTS(); +} + TEST(TrafficLight, Color) { using Color = traffic_simulator::TrafficLight::Color; @@ -367,8 +373,389 @@ TEST(TrafficLight, TrafficLight) } } -int main(int argc, char ** argv) +/** + * @note Test basic functionality. Test whether the function + * creates Color object appropriate to the argument. + */ +TEST(TrafficLight, Color_make) { - testing::InitGoogleTest(&argc, argv); - return RUN_ALL_TESTS(); + using Color = traffic_simulator::TrafficLight::Color; + { + const auto color = Color::make("green"); + + EXPECT_TRUE(color == Color::green); + EXPECT_TRUE(color.is(Color::green)); + EXPECT_TRUE(boost::lexical_cast("green") == Color::green); + EXPECT_TRUE(boost::lexical_cast(color) == "green"); + } + + { + const auto color = Color::make("yellow"); + + EXPECT_TRUE(color == Color::yellow); + EXPECT_TRUE(color.is(Color::yellow)); + EXPECT_TRUE(boost::lexical_cast("yellow") == Color::yellow); + EXPECT_TRUE(boost::lexical_cast(color) == "yellow"); + } + + { + const auto color = Color::make("red"); + + EXPECT_TRUE(color == Color::red); + EXPECT_TRUE(color.is(Color::red)); + EXPECT_TRUE(boost::lexical_cast("red") == Color::red); + EXPECT_TRUE(boost::lexical_cast(color) == "red"); + } + + { + const auto color = Color::make("white"); + + EXPECT_TRUE(color == Color::white); + EXPECT_TRUE(color.is(Color::white)); + EXPECT_TRUE(boost::lexical_cast("white") == Color::white); + EXPECT_TRUE(boost::lexical_cast(color) == "white"); + } + + { + const auto color = Color::make("amber"); + + EXPECT_TRUE(color == Color::yellow); + EXPECT_TRUE(color.is(Color::yellow)); + EXPECT_TRUE(boost::lexical_cast("amber") == Color::yellow); + EXPECT_TRUE(boost::lexical_cast(color) == "yellow"); + } +} + +/** + * @note Test basic functionality. Test whether the function creates Color object appropriate to the argument. + */ +TEST(TrafficLight, Shape_make) +{ + using Shape = traffic_simulator::TrafficLight::Shape; + + { + const auto shape = Shape::make("circle"); + + EXPECT_TRUE(shape == Shape::circle); + EXPECT_TRUE(shape.is(Shape::circle)); + EXPECT_TRUE(shape.is(Shape::Category::circle)); + EXPECT_TRUE(shape.category() == Shape::Category::circle); + EXPECT_TRUE(boost::lexical_cast("circle") == Shape::circle); + EXPECT_TRUE(boost::lexical_cast(shape) == "circle"); + } + + { + const auto shape = Shape::make("cross"); + + EXPECT_TRUE(shape == Shape::cross); + EXPECT_TRUE(shape.is(Shape::cross)); + EXPECT_TRUE(shape.is(Shape::Category::cross)); + EXPECT_TRUE(shape.category() == Shape::Category::cross); + EXPECT_TRUE(boost::lexical_cast("cross") == Shape::cross); + EXPECT_TRUE(boost::lexical_cast(shape) == "cross"); + } + + { + const auto shape = Shape::make("left"); + + EXPECT_TRUE(shape == Shape::left); + EXPECT_TRUE(shape.is(Shape::left)); + EXPECT_TRUE(shape.is(Shape::Category::arrow)); + EXPECT_TRUE(shape.category() == Shape::Category::arrow); + EXPECT_TRUE(boost::lexical_cast("left") == Shape::left); + EXPECT_TRUE(boost::lexical_cast(shape) == "left"); + } + + { + const auto shape = Shape::make("down"); + + EXPECT_TRUE(shape == Shape::down); + EXPECT_TRUE(shape.is(Shape::down)); + EXPECT_TRUE(shape.is(Shape::Category::arrow)); + EXPECT_TRUE(shape.category() == Shape::Category::arrow); + EXPECT_TRUE(boost::lexical_cast("down") == Shape::down); + EXPECT_TRUE(boost::lexical_cast(shape) == "down"); + } + + { + const auto shape = Shape::make("up"); + + EXPECT_TRUE(shape == Shape::up); + EXPECT_TRUE(shape.is(Shape::up)); + EXPECT_TRUE(shape.is(Shape::Category::arrow)); + EXPECT_TRUE(shape.category() == Shape::Category::arrow); + EXPECT_TRUE(boost::lexical_cast("up") == Shape::up); + EXPECT_TRUE(boost::lexical_cast(shape) == "up"); + } + + { + const auto shape = Shape::make("right"); + + EXPECT_TRUE(shape == Shape::right); + EXPECT_TRUE(shape.is(Shape::right)); + EXPECT_TRUE(shape.is(Shape::Category::arrow)); + EXPECT_TRUE(shape.category() == Shape::Category::arrow); + EXPECT_TRUE(boost::lexical_cast("right") == Shape::right); + EXPECT_TRUE(boost::lexical_cast(shape) == "right"); + } + + { + const auto shape = Shape::make("lowerLeft"); + + EXPECT_TRUE(shape == Shape::lower_left); + EXPECT_TRUE(shape.is(Shape::lower_left)); + EXPECT_TRUE(shape.is(Shape::Category::arrow)); + EXPECT_TRUE(shape.category() == Shape::Category::arrow); + EXPECT_TRUE(boost::lexical_cast("lowerLeft") == Shape::lower_left); + EXPECT_TRUE(boost::lexical_cast(shape) == "lowerLeft"); + } + + { + const auto shape = Shape::make("upperLeft"); + + EXPECT_TRUE(shape == Shape::upper_left); + EXPECT_TRUE(shape.is(Shape::upper_left)); + EXPECT_TRUE(shape.is(Shape::Category::arrow)); + EXPECT_TRUE(shape.category() == Shape::Category::arrow); + EXPECT_TRUE(boost::lexical_cast("upperLeft") == Shape::upper_left); + EXPECT_TRUE(boost::lexical_cast(shape) == "upperLeft"); + } + + { + const auto shape = Shape::make("lowerRight"); + + EXPECT_TRUE(shape == Shape::lower_right); + EXPECT_TRUE(shape.is(Shape::lower_right)); + EXPECT_TRUE(shape.is(Shape::Category::arrow)); + EXPECT_TRUE(shape.category() == Shape::Category::arrow); + EXPECT_TRUE(boost::lexical_cast("lowerRight") == Shape::lower_right); + EXPECT_TRUE(boost::lexical_cast(shape) == "lowerRight"); + } + + { + const auto shape = Shape::make("upperRight"); + + EXPECT_TRUE(shape == Shape::upper_right); + EXPECT_TRUE(shape.is(Shape::upper_right)); + EXPECT_TRUE(shape.is(Shape::Category::arrow)); + EXPECT_TRUE(shape.category() == Shape::Category::arrow); + EXPECT_TRUE(boost::lexical_cast("upperRight") == Shape::upper_right); + EXPECT_TRUE(boost::lexical_cast(shape) == "upperRight"); + } +} + +/** + * @note Test basic functionality. Test whether the function creates Status object appropriate to the argument. + */ +TEST(TrafficLight, Status_make) +{ + using Status = traffic_simulator::TrafficLight::Status; + + { + const auto status = Status::make("solidOn"); + + EXPECT_TRUE(status == Status::solid_on); + EXPECT_TRUE(status.is(Status::solid_on)); + EXPECT_TRUE(boost::lexical_cast("solidOn") == Status::solid_on); + EXPECT_TRUE(boost::lexical_cast(status) == "solidOn"); + } + + { + const auto status = Status::make("solidOff"); + + EXPECT_TRUE(status == Status::solid_off); + EXPECT_TRUE(status.is(Status::solid_off)); + EXPECT_TRUE(boost::lexical_cast("solidOff") == Status::solid_off); + EXPECT_TRUE(boost::lexical_cast(status) == "solidOff"); + } + + { + const auto status = Status::make("flashing"); + + EXPECT_TRUE(status == Status::flashing); + EXPECT_TRUE(status.is(Status::flashing)); + EXPECT_TRUE(boost::lexical_cast("flashing") == Status::flashing); + EXPECT_TRUE(boost::lexical_cast(status) == "flashing"); + } + + { + const auto status = Status::make("unknown"); + + EXPECT_TRUE(status == Status::unknown); + EXPECT_TRUE(status.is(Status::unknown)); + EXPECT_TRUE(boost::lexical_cast("unknown") == Status::unknown); + EXPECT_TRUE(boost::lexical_cast(status) == "unknown"); + } +} + +/** + * @note Test basic functionality. Test whether the function creates Color object appropriate to the argument. + */ +TEST(TrafficLight, Bulb_make) +{ + using TrafficLight = traffic_simulator::TrafficLight; + using Color = TrafficLight::Color; + using Status = TrafficLight::Status; + using Shape = TrafficLight::Shape; + using Bulb = TrafficLight::Bulb; + { + constexpr auto bulb = Bulb(Color::red, Status::flashing, Shape::circle); + + EXPECT_TRUE(bulb.is(Color::red)); + EXPECT_TRUE(bulb.is(Status::flashing)); + EXPECT_TRUE(bulb.is(Shape::circle)); + EXPECT_TRUE(bulb.is(Shape::Category::circle)); + } + + { + constexpr auto bulb = Bulb(Color::green, Status::solid_on, Shape::right); + + EXPECT_TRUE(bulb.is(Color::green)); + EXPECT_TRUE(bulb.is(Status::solid_on)); + EXPECT_TRUE(bulb.is(Shape::right)); + EXPECT_TRUE(bulb.is(Shape::Category::arrow)); + } + + { + const auto bulb = Bulb("red flashing circle"); + + EXPECT_TRUE(bulb.is(Color::red)); + EXPECT_TRUE(bulb.is(Status::flashing)); + EXPECT_TRUE(bulb.is(Shape::circle)); + EXPECT_TRUE(bulb.is(Shape::Category::circle)); + } + + { + const auto bulb = Bulb("red flashing"); + + EXPECT_TRUE(bulb.is(Color::red)); + EXPECT_TRUE(bulb.is(Status::flashing)); + EXPECT_TRUE(bulb.is(Shape::circle)); + EXPECT_TRUE(bulb.is(Shape::Category::circle)); + } + + { + const auto bulb = Bulb("red"); + + EXPECT_TRUE(bulb.is(Color::red)); + EXPECT_TRUE(bulb.is(Status::solid_on)); + EXPECT_TRUE(bulb.is(Shape::circle)); + EXPECT_TRUE(bulb.is(Shape::Category::circle)); + } + + { + const auto bulb = Bulb("green solidOn right"); + + EXPECT_TRUE(bulb.is(Color::green)); + EXPECT_TRUE(bulb.is(Status::solid_on)); + EXPECT_TRUE(bulb.is(Shape::right)); + EXPECT_TRUE(bulb.is(Shape::Category::arrow)); + } + + { + const auto bulb = Bulb("green right"); + + EXPECT_TRUE(bulb.is(Color::green)); + EXPECT_TRUE(bulb.is(Status::solid_on)); + EXPECT_TRUE(bulb.is(Shape::right)); + EXPECT_TRUE(bulb.is(Shape::Category::arrow)); + } +} + +/** + * @note Test basic functionality. Test whether the TrafficLight message + * is constructed configured according to the Bulb object. + */ +TEST(TrafficLight, Bulb_trafficLightMessageConversion) +{ + using Color = traffic_simulator::TrafficLight::Color; + using Status = traffic_simulator::TrafficLight::Status; + using Shape = traffic_simulator::TrafficLight::Shape; + using Bulb = traffic_simulator::TrafficLight::Bulb; + + { + constexpr auto bulb = Bulb(Color::red, Status::flashing, Shape::circle); + std::ostringstream oss; + oss << bulb; + EXPECT_TRUE(oss.str() == "red flashing circle"); + } + + { + constexpr auto bulb = Bulb(Color::green, Status::solid_on, Shape::right); + std::ostringstream oss; + oss << bulb; + EXPECT_TRUE(oss.str() == "green solidOn right"); + } + + { + const auto bulb = Bulb("red flashing circle"); + std::ostringstream oss; + oss << bulb; + EXPECT_TRUE(oss.str() == "red flashing circle"); + } + + { + const auto bulb = Bulb("red flashing"); + std::ostringstream oss; + oss << bulb; + EXPECT_TRUE(oss.str() == "red flashing circle"); + } + + { + const auto bulb = Bulb("red"); + std::ostringstream oss; + oss << bulb; + EXPECT_TRUE(oss.str() == "red solidOn circle"); + } + + { + const auto bulb = Bulb("green solidOn right"); + std::ostringstream oss; + oss << bulb; + EXPECT_TRUE(oss.str() == "green solidOn right"); + } + + { + const auto bulb = Bulb("green right"); + std::ostringstream oss; + oss << bulb; + EXPECT_TRUE(oss.str() == "green solidOn right"); + } +} + +/** + * @note Test basic functionality. Test function behavior when called with invalid name. + */ +TEST(TrafficLight, Color_make_wrong) +{ + EXPECT_THROW(traffic_simulator::TrafficLight::Color::make("wrong_color"), common::SyntaxError); +} + +/** + * @note Test basic functionality. Test function behavior when called with invalid name. + */ +TEST(TrafficLight, Shape_make_wrong) +{ + EXPECT_THROW(traffic_simulator::TrafficLight::Shape::make("wrong_shape"), common::SyntaxError); +} + +/** + * @note Test basic functionality. Test function behavior when called with invalid name. + */ +TEST(TrafficLight, Status_make_wrong) +{ + EXPECT_THROW(traffic_simulator::TrafficLight::Status::make("wrong_status"), common::SyntaxError); +} + +/** + * @note Test basic functionality. Test function behavior when called with invalid name. + */ +TEST(TrafficLight, Bulb_make_wrong) +{ + using Bulb = traffic_simulator::TrafficLight::Bulb; + + EXPECT_THROW(Bulb("red flashing wrong_shape"), common::SyntaxError); + EXPECT_THROW(Bulb("red wrong_status circle"), common::SyntaxError); + EXPECT_THROW(Bulb("wrong_color flashing circle"), common::SyntaxError); + EXPECT_THROW(Bulb("wrong_color wrong_status wrong_shape"), common::SyntaxError); } diff --git a/simulation/traffic_simulator_msgs/CHANGELOG.rst b/simulation/traffic_simulator_msgs/CHANGELOG.rst index 0c936582005..d00725765b1 100644 --- a/simulation/traffic_simulator_msgs/CHANGELOG.rst +++ b/simulation/traffic_simulator_msgs/CHANGELOG.rst @@ -13,6 +13,81 @@ Changelog for package openscenario_msgs * Merge branch 'master' into refactor/drop_workflow * Contributors: Kotaro Yoshimoto +2.2.2 (2024-06-28) +------------------ + +2.2.1 (2024-06-27) +------------------ +* Merge remote-tracking branch 'origin/master' into fix/issue1276-re +* Contributors: Masaya Kataoka + +2.2.0 (2024-06-24) +------------------ +* Merge branch 'master' into feature/clear_route_api +* Merge remote-tracking branch 'origin/master' into feature/clear_route_api +* Merge branch 'master' into feature/clear_route_api +* Merge branch 'master' into feature/clear_route_api +* Contributors: Masaya Kataoka, Taiga + +2.1.11 (2024-06-24) +------------------- +* Merge branch 'master' of github.com:tier4/scenario_simulator_v2 into feature/unit_tests/miscellaneous +* resolve merge confilct +* resolve merge +* Merge branch 'master' of github.com:tier4/scenario_simulator_v2 into feature/unit_tests/miscellaneous +* Contributors: robomic + +2.1.10 (2024-06-24) +------------------- +* Merge branch 'master' of github.com:tier4/scenario_simulator_v2 into feature/unit_tests/misc_object_entity +* Contributors: robomic + +2.1.9 (2024-06-24) +------------------ + +2.1.8 (2024-06-20) +------------------ +* Merge branch 'master' into feature/simple_sensor_simulator_unit_test +* Merge branch 'master' into feature/simple_sensor_simulator_unit_test +* Contributors: Kotaro Yoshimoto, SzymonParapura + +2.1.7 (2024-06-19) +------------------ +* Merge branch 'master' into feature/improve-ros-parameter-handling +* Merge branch 'master' into feature/improve-ros-parameter-handling +* Contributors: Masaya Kataoka, Mateusz Palczuk + +2.1.6 (2024-06-18) +------------------ + +2.1.5 (2024-06-18) +------------------ + +2.1.4 (2024-06-14) +------------------ +* Merge branch 'master' into fix/remove_quaternion_operation +* Merge branch 'master' into fix/remove_quaternion_operation +* Contributors: Masaya Kataoka + +2.1.3 (2024-06-14) +------------------ +* Merge branch 'master' into fix/issue1276 +* Contributors: Masaya Kataoka + +2.1.2 (2024-06-13) +------------------ +* Merge branch 'master' into fix/interpreter/fault-injection-action +* Merge branch 'master' into fix/interpreter/fault-injection-action +* Merge branch 'master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge branch 'master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Contributors: Tatsuya Yamasaki, yamacir-kit + 2.1.1 (2024-06-11) ------------------ * Merge branch 'master' into fix/reorder diff --git a/simulation/traffic_simulator_msgs/package.xml b/simulation/traffic_simulator_msgs/package.xml index f93910f4943..df39eb4a4ae 100644 --- a/simulation/traffic_simulator_msgs/package.xml +++ b/simulation/traffic_simulator_msgs/package.xml @@ -2,7 +2,7 @@ traffic_simulator_msgs - 2.1.1 + 2.2.2 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 0bb935cd39d..47b666910ec 100644 --- a/test_runner/random_test_runner/CHANGELOG.rst +++ b/test_runner/random_test_runner/CHANGELOG.rst @@ -13,6 +13,86 @@ Changelog for package random_test_runner * Merge branch 'master' into refactor/drop_workflow * Contributors: Kotaro Yoshimoto +2.2.2 (2024-06-28) +------------------ + +2.2.1 (2024-06-27) +------------------ +* Merge remote-tracking branch 'origin/master' into fix/issue1276-re +* Contributors: Masaya Kataoka + +2.2.0 (2024-06-24) +------------------ +* Merge branch 'master' into feature/clear_route_api +* Merge remote-tracking branch 'origin/master' into feature/clear_route_api +* Merge branch 'master' into feature/clear_route_api +* Merge branch 'master' into feature/clear_route_api +* Contributors: Masaya Kataoka, Taiga + +2.1.11 (2024-06-24) +------------------- +* Merge branch 'master' of github.com:tier4/scenario_simulator_v2 into feature/unit_tests/miscellaneous +* resolve merge confilct +* resolve merge +* Merge branch 'master' of github.com:tier4/scenario_simulator_v2 into feature/unit_tests/miscellaneous +* Contributors: robomic + +2.1.10 (2024-06-24) +------------------- +* Merge branch 'master' of github.com:tier4/scenario_simulator_v2 into feature/unit_tests/misc_object_entity +* Contributors: robomic + +2.1.9 (2024-06-24) +------------------ + +2.1.8 (2024-06-20) +------------------ +* Merge branch 'master' into feature/simple_sensor_simulator_unit_test +* Merge branch 'master' into feature/simple_sensor_simulator_unit_test +* Contributors: Kotaro Yoshimoto, SzymonParapura + +2.1.7 (2024-06-19) +------------------ +* Merge branch 'master' into feature/improve-ros-parameter-handling +* Merge branch 'master' into feature/improve-ros-parameter-handling +* Contributors: Masaya Kataoka, Mateusz Palczuk + +2.1.6 (2024-06-18) +------------------ + +2.1.5 (2024-06-18) +------------------ + +2.1.4 (2024-06-14) +------------------ +* Merge branch 'master' into fix/remove_quaternion_operation +* Merge branch 'master' into fix/remove_quaternion_operation +* Contributors: Masaya Kataoka + +2.1.3 (2024-06-14) +------------------ +* Merge branch 'master' into fix/issue1276 +* Contributors: Masaya Kataoka + +2.1.2 (2024-06-13) +------------------ +* Merge branch 'master' into fix/interpreter/fault-injection-action +* Merge branch 'master' into fix/interpreter/fault-injection-action +* Merge branch 'master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge branch 'master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Contributors: Tatsuya Yamasaki, yamacir-kit + 2.1.1 (2024-06-11) ------------------ * Merge branch 'master' into fix/reorder diff --git a/test_runner/random_test_runner/package.xml b/test_runner/random_test_runner/package.xml index 420d2fb6e11..57746f594a2 100644 --- a/test_runner/random_test_runner/package.xml +++ b/test_runner/random_test_runner/package.xml @@ -2,7 +2,7 @@ random_test_runner - 2.1.1 + 2.2.2 Random behavior test runner piotr-zyskowski-rai Apache License 2.0 diff --git a/test_runner/scenario_test_runner/CHANGELOG.rst b/test_runner/scenario_test_runner/CHANGELOG.rst index 1327d525f1f..b21cad5b858 100644 --- a/test_runner/scenario_test_runner/CHANGELOG.rst +++ b/test_runner/scenario_test_runner/CHANGELOG.rst @@ -23,6 +23,91 @@ Changelog for package scenario_test_runner * refactor: delete workflow.Workflow and rename workflow.py to scenario.py * Contributors: Kotaro Yoshimoto, Tatsuya Yamasaki +2.2.2 (2024-06-28) +------------------ + +2.2.1 (2024-06-27) +------------------ +* Merge remote-tracking branch 'origin/master' into fix/issue1276-re +* Contributors: Masaya Kataoka + +2.2.0 (2024-06-24) +------------------ +* Merge branch 'master' into feature/clear_route_api +* Merge remote-tracking branch 'origin/master' into feature/clear_route_api +* Merge branch 'master' into feature/clear_route_api +* Merge branch 'master' into feature/clear_route_api +* Contributors: Masaya Kataoka, Taiga + +2.1.11 (2024-06-24) +------------------- +* Merge branch 'master' of github.com:tier4/scenario_simulator_v2 into feature/unit_tests/miscellaneous +* resolve merge confilct +* resolve merge +* Merge branch 'master' of github.com:tier4/scenario_simulator_v2 into feature/unit_tests/miscellaneous +* Contributors: robomic + +2.1.10 (2024-06-24) +------------------- +* Merge branch 'master' of github.com:tier4/scenario_simulator_v2 into feature/unit_tests/misc_object_entity +* Contributors: robomic + +2.1.9 (2024-06-24) +------------------ + +2.1.8 (2024-06-20) +------------------ +* Merge branch 'master' into feature/simple_sensor_simulator_unit_test +* Merge branch 'master' into feature/simple_sensor_simulator_unit_test +* Contributors: Kotaro Yoshimoto, SzymonParapura + +2.1.7 (2024-06-19) +------------------ +* Merge branch 'master' into feature/improve-ros-parameter-handling +* Merge branch 'master' into feature/improve-ros-parameter-handling +* Contributors: Masaya Kataoka, Mateusz Palczuk + +2.1.6 (2024-06-18) +------------------ + +2.1.5 (2024-06-18) +------------------ + +2.1.4 (2024-06-14) +------------------ +* Merge branch 'master' into fix/remove_quaternion_operation +* fix +* Merge branch 'master' into fix/remove_quaternion_operation +* Remove quaternion_operation +* Contributors: Masaya Kataoka, Taiga Takano + +2.1.3 (2024-06-14) +------------------ +* Merge branch 'master' into fix/issue1276 +* Contributors: Masaya Kataoka + +2.1.2 (2024-06-13) +------------------ +* Merge branch 'master' into fix/interpreter/fault-injection-action +* Merge branch 'master' into fix/interpreter/fault-injection-action +* Merge branch 'master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge branch 'master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Merge remote-tracking branch 'origin/master' into fix/interpreter/fault-injection-action +* Contributors: Tatsuya Yamasaki, yamacir-kit + 2.1.1 (2024-06-11) ------------------ * Merge branch 'master' into fix/reorder diff --git a/test_runner/scenario_test_runner/package.xml b/test_runner/scenario_test_runner/package.xml index 103cdd0135d..55e3498354c 100644 --- a/test_runner/scenario_test_runner/package.xml +++ b/test_runner/scenario_test_runner/package.xml @@ -2,7 +2,7 @@ scenario_test_runner - 2.1.1 + 2.2.2 scenario test runner package Tatsuya Yamasaki Apache License 2.0