Skip to content

Releases: tier4/scenario_simulator_v2

20.0.4

09 Dec 11:32

Choose a tag to compare

Description

Abstract

Sort change logs in CHANGELOG.rst

Background

Due to lack of version tag on git repositoty, latest tag detection by catkin_generate_changelog is failed.

Details

Apart from this pull request, I added the following missing tags and pushed it:

References

None

Destructive Changes

None

Known Limitations

None

Related Issues

20.0.3

03 Dec 09:57

Choose a tag to compare

Bumps actions/checkout from 5 to 6.

Release notes

Sourced from actions/checkout's releases.

v6.0.0

What's Changed

Full Changelog: actions/checkout@v5.0.0...v6.0.0

v6-beta

What's Changed

Updated persist-credentials to store the credentials under $RUNNER_TEMP instead of directly in the local git config.

This requires a minimum Actions Runner version of v2.329.0 to access the persisted credentials for Docker container action scenarios.

v5.0.1

What's Changed

Full Changelog: actions/checkout@v5...v5.0.1

Changelog

Sourced from actions/checkout's changelog.

Changelog

V6.0.0

V5.0.1

V5.0.0

V4.3.1

V4.3.0

v4.2.2

v4.2.1

v4.2.0

v4.1.7

v4.1.6

v4.1.5

... (truncated)

Commits

[Dependabot compatibility score](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibil...

Read more

20.0.2

03 Dec 08:08

Choose a tag to compare

Description

Abstract

Due to the update of autoware documentation site, the links in HACKING.md was broken.
So, I updated the links in this pull-request.

Details

References

Before pull-request: link check failed
After pull-request: link checker success

Destructive Changes

None

Known Limitations

None

Related Issues

20.0.1

03 Dec 06:34

Choose a tag to compare

Description

Abstract

Use "maximal munch" technique to avoid replace a part of a longer macro with a shorter macro

Background

Actually, in the scenario below, xxx_a_b was evaluated to 13.96_b and made an error.

ScenarioModifiers:
  ScenarioModifier:
    - name: __tier4_modifier_xxx_a
      type: double
      list:
        - 13.96
    - name: __tier4_modifier_xxx_a_b
      type: double
      list:
        - 24.19
OpenSCENARIO:
  ParameterDeclarations:
    ParameterDeclaration:
      - name: xxx_a
        parameterType: double
        value: __xxx_a
      - name: xxx_a_b
        parameterType: double
        value: __tier4_modifier_xxx_a_b

Details

References

https://en.wikipedia.org/wiki/Maximal_munch

Regression Test: OK

Destructive Changes

None

Known Limitations

None

Related Issues

20.0.0

03 Dec 02:42

Choose a tag to compare

Description

Abstract

Previously, INF is parsed as std::numeric_limits<double>::max() in openscenario_interpreter::Double.
But in this pull-request, I treat INF as std::numeric_limits<double>::infinity().

Background

In some use cases, I want to check if the value parsed by openscenario_interpreter::Double is inifinity using std::isinf.

Details

a bug fix to read -INF as positive infinity

Due to a mistake in the regular expression, there was a bug where -INF was interpreted as positive infinity.
This bug was discovered while adding unit tests, and the tests warranted a fix.

References

Regression Test: OK

Destructive Changes

The parsed result of INF in scenarios are changed.
From a comparative perspective, there is no difference.

Known Limitations

None

Related Issues

19.0.3

27 Nov 07:55

Choose a tag to compare

Bumps mkdocs-material from 9.6.22 to 9.7.0.

Release notes

Sourced from mkdocs-material's releases.

mkdocs-material-9.7.0

[!WARNING]

Material for MkDocs is now in maintenance mode

This is the last release of Material for MkDocs that will receive new features. Going forward, the Material for MkDocs team focuses on Zensical, a next-gen static site generator built from first principles. We will provide critical bug fixes and security updates for Material for MkDocs for 12 months at least.

Read the full announcement on our blog

This release includes all features that were previously exclusive to the Insiders edition. These features are now freely available to everyone.

Note on deprecated plugins: The projects and typeset plugins are included in this release, but must be considered deprecated. Both plugins proved unsustainable to maintain and represent architectural dead ends. They are provided as-is without ongoing support.

Changes:

  • Added support for projects plugin (for compat, now deprecated)
  • Added support for typeset plugin (for compat, now deprecated)
  • Added support for pinned blog posts and author profiles
  • Added support for customizing pagination for blog index pages
  • Added support for customizing blog category sort order
  • Added support for staying on page when switching languages
  • Added support for disabling tags in table of contents
  • Added support for nested tags and shadow tags
  • Added support for footnote tooltips
  • Added support for instant previews
  • Added support for instant prefetching
  • Added support for custom social card layouts
  • Added support for custom social card background images
  • Added support for selectable rangs in code blocks
  • Added support for custom selectors for code annotations
  • Added support for configurable log level in privacy plugin
  • Added support for processing of external links in privacy plugin
  • Added support for automatic image optimization via optimize plugin
  • Added support for navigation paths (breadcrumbs)
  • Fixed #8519: Vector accents do not render when using KaTeX

mkdocs-material-9.6.23

  • Updated Burmese translation
Changelog

Sourced from mkdocs-material's changelog.

mkdocs-material-9.7.0 (2025-11-11)

⚠️ Material for MkDocs is now in maintenance mode

This is the last release of Material for MkDocs that will receive new features. Going forward, the Material for MkDocs team focuses on Zensical, a next-gen static site generator built from first principles. We will provide critical bug fixes and security updates for Material for MkDocs for 12 months at least.

Read the full announcement on our blog: https://squidfunk.github.io/mkdocs-material/blog/2025/11/05/zensical/

This release includes all features that were previously exclusive to the Insiders edition. These features are now freely available to everyone.

Note on deprecated plugins: The projects and typeset plugins are included in this release, but must be considered deprecated. Both plugins proved unsustainable to maintain and represent architectural dead ends. They are provided as-is without ongoing support.

Changes:

  • Added support for pinned blog posts and author profiles
  • Added support for customizing pagination for blog index pages
  • Added support for customizing blog category sort order
  • Added support for staying on page when switching languages
  • Added support for disabling tags in table of contents
  • Added support for nested tags and shadow tags
  • Added support for footnote tooltips
  • Added support for instant previews
  • Added support for instant prefetching
  • Added support for custom social card layouts
  • Added support for custom social card background images
  • Added support for selectable rangs in code blocks
  • Added support for custom selectors for code annotations
  • Added support for configurable log level in privacy plugin
  • Added support for processing of external links in privacy plugin
  • Added support for automatic image optimization via optimize plugin
  • Added support for navigation paths (breadcrumbs)
  • Fixed #8519: Vector accents do not render when using KaTeX

mkdocs-material-9.6.23 (2025-11-01)

  • Updated Burmese translation

mkdocs-material-9.6.22 (2025-10-15)

  • Updated Georgian translation

mkdocs-material-9.6.21 (2025-09-30)

... (truncated)

Commits

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Related Issues

19.0.2

27 Nov 07:29

Choose a tag to compare

Description

Abstract

Set uv as package-ecosystem in dependabot.yml

Background

In #1719, the python package manager was migrated to uv but was not in dependabot.yml

References

https://github.blog/changelog/2025-03-13-dependabot-version-updates-now-support-uv-in-general-availability/

Destructive Changes

None

Known Limitations

None

Related Issues

19.0.1

27 Nov 07:20

Choose a tag to compare

Description

Abstract

Skip scan of SonarQube in dependabot pull-request.
SonarQube scan is failed in dependabot pull-requests, because SonarQube related secrets are not open to dependabot pull-requests.
There is no inherent point in scanning coverage for dependabot pull-requests, so we skip scanning.

Background

#1746 is blocked by this issue.

References

None

Destructive Changes

None

Known Limitations

None

Related Issues

19.0.0

27 Nov 04:56

Choose a tag to compare

Description

Important

Right before merging this PR, please change the target branch of #1479 and #1731 to master.

Otherwise those PRs (which are next in line to be merged) will be closed automatically.

Abstract

This PR is a continuation of HdMapUtils refactoring.
For a full overview of changes that all 6 PRs will introduce, please see the Abstract of the first PR.

Generally member functions of HdMapUtils class have been moved to be free functions in traffic_simulator::lanelet_wrapper::distance and traffic_simulator::distance namespaces.
This required some helper functions to be moved from HdMapUtils to appropriate namespaces like for map handling to traffic_simulator::lanelet_wrapper::lanelet_map or traffic_simulator::lanelet_map

For exact details of what this PR introduces see the Details below.

Details

Here all changes in code are explained.
They aim to achieve the goal defined in Abstract.
As refactoring that moves the functions from one file to another can be hard to track on GitHub the list of changes to each function from this PR has been prepared below.

Global changes

Generally in the modified parts of the code some minor improvements were implemented like usage of const & when applicable.
Other changes like removal of unnecessary allocations have been explained below in details.

ActionNode::getOtherEntityStatus

The ActionNode::getOtherEntityStatus was replaced by ActionNode::getOtherEntitiesCanonicalizedLaneletPoses.
First returned entites in the lanelet, second returns canonicalized lanalet poses of all entites.
The change was done so that refactoring of ActionNode::getYieldStopDistance can be achieved.

ActionNode::getYieldStopDistance

Some part of implementation for calculating actual distance between entity and right of way lanelet has been moved to new function traffic_simulator::distance::distanceToYieldStop.

utils distance::distanceToYieldStop

A part of ActionNode::getYieldStopDistance that has been slightly modified.
Instead of getOtherEntityStatus it uses getPosesOnLanelet lambda which instead of filtering entity statuses filters entity positions. These are only needed to determine whether the lanelet is occupied.

Additionally an optimization was added to store only nearest distance instead of all distances when only smallest is returned.

HdMapUtils::getDistanceToTrafficLightStopLine (x4)

4 overloads of HdMapUtils::getDistanceToTrafficLightStopLine have meen moved to lanelet_wrapper::distance::distanceToTrafficLightStopLine.

They are generally the same, but code repetition was removed.
In overloads with waypoints argument which created a spline from the waypoints and performed the same logic as spline overload -- the spline is constructed and spline overload is just called.

Additionally an optimization was added to store only nearest distance instead of all distances when only smallest is returned.

utils distance::distanceToCrosswalk

distance::distanceToCrosswalk implementation has been moved to lanelet_wrapper. In utils there is only a forwarding.

In lanelet_wrapper the function has been divided into two functions where one is an overload for more flexibility.
One additional change is an explicit search_in_backward_direction argumenthas been added to not depend on default values.

Note: Utilizes newly added lanelet_wrapper::lanelet_map::laneletPolygon.

lanelet_wrapper::lanelet_map::laneletIds

Modified to allocate memory once, because we know how many elements there will be.

lanelet_wrapper::lanenet_map::nextLaneletIDs

Modified to allocate memory once, because we know how many elements there will be.

lanelet_wrapper::lanelet_map::laneletPolygon

Copied from HdMapUtils::getLaneletPolygon to use in distance::distanceToCrosswalk.

lanelet_wrapper::lanelet_map::rightOfWayLaneletIds

Copied from HdMapUtils::getRightOfWayLaneletIds.

utils distance::longitudinalDistance

Stores only smallest value rather than all when only smallest is returned.






Caution

The description below is left as a preservation of what this PR once was introducing.
This may be relevant or helpful at some point, so it is intentionally not deleted.
The PR was made smaller by extracting its parts into a new small PRs, but this PR was a base for them and the below description is the overwiev of all changes it originally introduced (before extracting contents into smaller PRs).

Description

Important

Right before merging this PR, please change the target branch of #1479 to master.

Otherwise that PR (which is next in line to be merged) will be closed automatically.

Abstract

This is the second PR of 6 related to the HdMapUtils refactor (for the first one, see #1472).
For a full overview of changes that all 6 PRs will introduce, please see the Abstract of the first PR.

Background

The lanelet_wrapper namespace contains:

These static methods are used by the sub-namespaces of lanelet_wrapper.
lanelet_wrapper namespace consist of 6 sub-namespaces:

As a result of the merge of this PR 2/6, the namespaces lanelet_wrapper::lanelet_map, lanelet_wrapper::distance, lanelet_wrapper::route and lanelet_wrapper::traffic_lights were added to the project. But most importantly, the ::distance from utils is adapted for its use.
In addition to this, PR is making several other improvements to the code, see below for details.

Details

The distance namespace in lanelet_wrapper and only the strictly necessary parts of route and traffic_lights are developed.

Important

By moving from HdMapUtils, we mean moving the entire member function to lanelet_wrapper - making it a free function.
This is accessible to traffic_simulator through free functions in utils namespace.

Before these changes the structure looked like this:

<HdMapUtils member function name>

After the changes structure looks like this:

<utils namespace and function name>...

Read more

18.5.0

26 Nov 06:13

Choose a tag to compare

Abstract

This pull-request is a part of #1577 by @TauTheLepton

In this pull-request, the noise for /sensing/imu/imu_data topic is introduced.

Background

Details

The following folding document is copied from #1577 and are closely related to this pull request:

Simple sensor simulator noise ### Simple sensor simulator noise Noise adding framework from `concealer::Publisher` has been used implementing simple sensor simulator noise, that is the noise applied to topic - `/sensing/imu/imu_data`

Applying noise to this topic has been slightly more complicated, because the sensor already had some noise implementation.
The older noise implementation is incompatible with the normal distribution noise framework fromconcealer::Publisher.
For this reason, and the fact we want to keep the simulator backward compatible - the new noise adding method has been added "on top" of the old implementation with a switch enabling to choose which implementation should be used.

This means the original implementation is used by default and only when user specifies the parameter /sensing/imu/imu_data.override_legacy_configuration to be true the legacy method is switched off and the new method is switched on (part of this process involves calculating new covariance matrices, because they depend on the new noise parameters).

Additionally, unit tests (testing only the noise application correctness) for ImuSensor with both noise configurations (legacy and new) have been implemented.

Additional development from #1577

Add configurable noises for diagnal elements of covariance matrices

In #1577, the diagnosial elements of covariance matrices were implemented in a way that linked to the noise settings of the corresponding elements of the IMU message, but by request they have now been implemented as independent noise.

configuration switch

The override_legacy_configuration parameter controls which noise settings are used:

  • false (default): Use legacy noise settings from ImuSensorConfiguration (Protobuf), which are passed via attachImuSensor API. These settings include noise_standard_deviation_orientation, noise_standard_deviation_twist,
    and noise_standard_deviation_acceleration. The ROS parameters in this file will be IGNORED.
  • true: Use the following ROS parameters for detailed noise configuration. Legacy settings from ImuSensorConfiguration will be IGNORED.

parameters

You can set the additive/multiplicative errors with specifying mean/standard_deviation parameters for orientation, angular_velocity, linear_acceleration and their covariances.

The orientation parameters are r, p and y (Euler angles), and the angular_velocity / linear_acceleration parameters are x, y and z.
The covariance parameters are diagonal elements only: roll_roll, pitch_pitch, yaw_yaw for orientation covariance, and x_x, y_y, z_z for angular_velocity / linear_acceleration covariances.

Details
     /sensing/imu/imu_data:
      version: 20240605 # architecture_type suffix (mandatory)
      override_legacy_configuration: false # This parameter (if true) disables legacy configuration and overrides it with the following parameters
      # The following parameters are used only if `override_legacy_configuration` is true.
      seed: 0 # If 0 is specified, a random seed value will be generated for each run.
      sensor_msgs::msg::Imu:
        orientation:
          # The type of sensor_msgs::msg::Imu.orientation is Quaternion,
          # and the actual orientation data members are x, y, z, and w.
          # However, applying error to Quaternions can be unintuitive and
          # tricky, so we accept the parameters as Euler angles here. The
          # simulator internally converts Quaternion to Euler angles and
          # applies the error to them. It then converts the error-applied
          # Euler angles back to Quaternion and publishes them as
          # `/sensing/imu/imu_data`.
          r:
            error:
              additive:
                mean: 0.0
                standard_deviation: 0.0
              multiplicative:
                mean: 0.0
                standard_deviation: 0.0
          p:
            error:
              additive:
                mean: 0.0
                standard_deviation: 0.0
              multiplicative:
                mean: 0.0
                standard_deviation: 0.0
          y:
            error:
              additive:
                mean: 0.0
                standard_deviation: 0.0
              multiplicative:
                mean: 0.0
                standard_deviation: 0.0
        angular_velocity:
          x:
            error:
              additive:
                mean: 0.0
                standard_deviation: 0.0
              multiplicative:
                mean: 0.0
                standard_deviation: 0.0
          y:
            error:
              additive:
                mean: 0.0
                standard_deviation: 0.0
              multiplicative:
                mean: 0.0
                standard_deviation: 0.0
          z:
            error:
              additive:
                mean: 0.0
                standard_deviation: 0.0
              multiplicative:
                mean: 0.0
                standard_deviation: 0.0
        linear_acceleration:
          x:
            error:
              additive:
                mean: 0.0
                standard_deviation: 0.0
              multiplicative:
                mean: 0.0
                standard_deviation: 0.0
          y:
            error:
              additive:
                mean: 0.0
                standard_deviation: 0.0
              multiplicative:
                mean: 0.0
                standard_deviation: 0.0
          z:
            error:
              additive:
                mean: 0.0
                standard_deviation: 0.0
              multiplicative:
                mean: 0.0
                standard_deviation: 0.0
        orientation_covariance:
          roll_roll:
            error:
              additive:
                mean: 0.0001
                standard_deviation: 0.0
              multiplicative:
                mean: 0.0
                standard_deviation: 0.0
          pitch_pitch:
            error:
              additive:
                mean: 0.0001
                standard_deviation: 0.0
              multiplicative:
                mean: 0.0
                standard_deviation: 0.0
          yaw_yaw:
            error:
              additive:
                mean: 0.0001
                standard_deviation: 0.0
              multiplicative:
                mean: 0.0
                standard_deviation: 0.0
        angular_velocity_covariance:
          x_x:
            error:
              additive:
                mean: 0.0001
                standard_deviation: 0.0
              multiplicative:
                mean: 0.0
                standard_deviation: 0.0
          y_y:
            error:
              additive:
                mean: 0.0001
                standard_deviation: 0.0
              multiplicative:
                mean: 0.0
                standard_deviation: 0.0
          z_z:
            error:
              additive:
                mean: 0.0001
                standard_deviation: 0.0
              multiplicative:
                mean: 0.0
                standard_deviation: 0.0
        linear_acceleration_covariance:
          x_x:
            error:
              additive:
                mean: 0.0001
                standard_deviation: 0.0
              multiplicative:
                mean: 0.0
                standard_deviation: 0.0
          y_y:
            error:
              additive:
                mean: 0.0001
                standard_deviation: 0.0
              multiplicative:
                mean: 0.0
                standard_deviation: 0.0
          z_z:
            error:
              additive:
                mean: 0.0001
                standard_deviation: 0.0
              multiplicative:
                mean: 0.0
                standard_deviation: 0.0

References

Regression Test: OK

Destructive Changes

None
The default parameter is zero.
So the default behavior is not changed

Known Limitations

Related Issues