No version for distro humble. Known supported distros are highlighted in the buttons above.
No version for distro jazzy. Known supported distros are highlighted in the buttons above.
No version for distro rolling. Known supported distros are highlighted in the buttons above.

Package Summary

Tags No category tags.
Version 0.2.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/autowarefoundation/autoware_tools.git
VCS Type git
VCS Version main
Last Updated 2025-04-03
Dev Status UNMAINTAINED
CI status No Continuous Integration
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

The driving_environment_analyzer package

Additional Links

No additional links.

Maintainers

  • Satoshi Ota

Authors

  • Satoshi Ota

Driving Environment Analyzer

このツールはROSBAGに含まれる走行履歴を元に走行環境のODDを解析するツールです。

ROSBAGの特定時刻における周囲のODDを解析する場合

この場合にはRvizプラグインであるdriving_environment_analyzer_rviz_panelを使用することをおすすめします。

現在以下の情報が出力可能です。

  • EGOの現在車速
  • 現在位置の勾配
  • EGOの挙動
  • 現在の車線情報

こちらのツールはautoware_launchに含まれるlogging_simulatorを使用します。まず以下のコマンドからシミュレータを起動してください。

ros2 launch autoware_launch logging_simulator.launch.xml map_path:=<MAP> vehicle_model:=<VEHICLE_NAME> sensor_model:=<AIP_NAME> sensing:=false control:=false planning:=false perception:=false localization:=false system:=false

fig1

シミュレータ起動時に地図を読み込むためROSBAGに地図情報が含まれていなくてもODDの解析が可能です。(ただし、その場合にはROSBAG取得の際に使用した地図を指定してシミュレータを起動するようにしてください。)

次に本パッケージに含まれる解析ツールを起動します。Rviz画面左上部のAdd New PanelからDrivingEnvironmentAnalyzerPanelを選択してください。これでRviz左下に新しく操作パネルが追加されます。

fig1 fig1

本ツールはROSBAGファイル指定してロードできる他、複数のROSBAGファイルが格納されているディレクトリを指定することも可能です。ただし、その場合には事前に以下のコマンドでmetadata.yamlの生成が必要になります。

ros2 bag reindex <DIR_PATH> sqlite3

fig1

ROSBAGの読み込みが完了したらODDを解析したい時刻を指定します。時刻の指定にはUnix timeを直接指定するほかスライドバーも使用可能です。左に表示されている日時を参考に調整してください。

fig1

また、このときViewsのTarget Flameをbase_linkにしておくことで、指定した時刻のEGOの位置と周囲の状況をRvizで可視化可能です。

fig1

時刻の指定が完了したら、Set time stampボタンを押し、最後にAnalyze dynamic ODD factorを押すことで解析が始まります。

fig1

[rviz2-11] ***********************************************************
[rviz2-11]                    ODD analysis result
[rviz2-11] ***********************************************************
[rviz2-11] Type: TIME SPECIFIED
[rviz2-11] Time: 2024-04-22 14:48:05
[rviz2-11]
[rviz2-11]
[rviz2-11] - EGO INFO
[rviz2-11]   [SPEED]                       : 0 [m/s]
[rviz2-11]   [ELEVATION ANGLE]             : 0.00963597 [rad]
[rviz2-11]
[rviz2-11] - EGO BEHAIOVR
[rviz2-11]   [AVOIDANCE(R)]                : NONE
[rviz2-11]   [AVOIDANCE(L)]                : NONE
[rviz2-11]   [LANE_CHANGE(R)]              : NONE
[rviz2-11]   [LANE_CHANGE(L)]              : NONE
[rviz2-11]   [START_PLANNER]               : SAFE: true COMMAND: deactivate
[rviz2-11]   [GOAL_PLANNER]                : NONE
[rviz2-11]   [CROSSWALK]                   : NONE
[rviz2-11]   [INTERSECTION]                : NONE
[rviz2-11]
[rviz2-11] - LANE INFO
[rviz2-11]   [ID]                          : 176126
[rviz2-11]   [WIDTH]                       : 4.24132 [m]
[rviz2-11]   [SHAPE]                       : STRAIGHT
[rviz2-11]   [RIGHT LANE NUM]              : 0
[rviz2-11]   [LEFT LANE NUM]               : 0
[rviz2-11]   [TOTAL LANE NUM]              : 1
[rviz2-11]   [SAME DIRECTION LANE]         : NONE
[rviz2-11]   [OPPOSITE DIRECTION LANE]     : NONE
[rviz2-11]   [ROAD SHOULDER]               : EXIST
[rviz2-11]
[rviz2-11] - SURROUND OBJECT NUM
[rviz2-11]   [UNKNOWN]                     : 0
[rviz2-11]   [CAR]                         : 6
[rviz2-11]   [TRUCK]                       : 0
[rviz2-11]   [BUS]                         : 3
[rviz2-11]   [TRAILER]                     : 2
[rviz2-11]   [MOTORCYCLE]                  : 0
[rviz2-11]   [BICYCLE]                     : 0
[rviz2-11]   [PEDESTRIAN]                  : 7
[rviz2-11] ***********************************************************

ROSBAG全体に対して経路沿いのODDを解析する場合

現在以下の情報が出力可能です。

  • 走行経路の長さ
  • 走行経路の車線情報
  • 走行経路の最大・最小勾配
  • 走行経路の最大曲率
  • 走行経路の最大・最小車線幅
  • 交差点の有無
  • 信号機の有無
  • 横断歩道の有無

起動時にbag_pathオプションで解析したいROSBAGを指定してください。(ディレクトリの指定も.db3ファイルの直接指定もサポートしています。)

解析に必要なtopicは以下のとおりです。(今後増える可能性もあります。)

  • /planning/mission_planning/route
  • /map/vector_map

以下のようにlaunchすることでODDの解析結果が得られます。

ros2 launch driving_environment_analyzer driving_environment_analyzer.launch.xml use_map_in_bag:=true bag_path:=<ROSBAG>

[component_container-1] [INFO 1708999777.768870564] [driving_environment_analyzer]: ======================================
[component_container-1] [INFO 1708999777.768922452] [driving_environment_analyzer]:  data is ready. start ODD analysis...
[component_container-1] [INFO 1708999777.768933574] [driving_environment_analyzer]: ======================================
[component_container-1] [INFO 1708999777.768967412] [driving_environment_analyzer]: - Length of total lanes : 2357.50 [m]
[component_container-1] [INFO 1708999777.769031174] [driving_environment_analyzer]: - Length of lane that has adjacent lane : 2080.43 [m]
[component_container-1] [INFO 1708999777.769076141] [driving_environment_analyzer]: - Length of lane that has opposite lane : 0.00 [m]
[component_container-1] [INFO 1708999777.769101793] [driving_environment_analyzer]: - Length of lane that has no adjacent lane : 277.07 [m]
[component_container-1] [INFO 1708999777.769225729] [driving_environment_analyzer]: - Min lane width: 3.14 [m] Max lane width: 4.94 [m]
[component_container-1] [INFO 1708999777.769278698] [driving_environment_analyzer]: - Max curvature: 0.007967 [1/m]
[component_container-1] [INFO 1708999777.769293161] [driving_environment_analyzer]: - Min curve radius: 125.52 [m]
[component_container-1] [INFO 1708999777.769336094] [driving_environment_analyzer]: - Min elevation angle: -0.033037 [rad] Max elevation angle: 0.026073 [rad]
[component_container-1] [INFO 1708999777.769403870] [driving_environment_analyzer]: - Min speed limit: 13.89 [m/s] Max speed limit: 16.67 [m/s]
[component_container-1] [INFO 1708999777.769424648] [driving_environment_analyzer]: - Exist traffic light: true
[component_container-1] [INFO 1708999777.769435813] [driving_environment_analyzer]: - Exist intersection: true
[component_container-1] [INFO 1708999777.769620035] [driving_environment_analyzer]: - Exist crosswalk: true
[component_container-1] [INFO 1708999777.769634980] [driving_environment_analyzer]: ======================================
[component_container-1] [INFO 1708999777.769642769] [driving_environment_analyzer]:  complete ODD analysis. shutdown.
[component_container-1] [INFO 1708999777.769650034] [driving_environment_analyzer]: ======================================

ただし、map/vector_mapに関してはuse_map_in_bagfalseにすることでローカル環境に保存されている地図を使用してODD解析を行うことも可能です。その場合、map_pathオプションで地図のパスを指定してください。

ros2 launch driving_environment_analyzer driving_environment_analyzer.launch.xml use_map_in_bag:=false map_path:=<MAP> bag_path:=<ROSBAG>

以上のようにオプションを指定することでROSBAGに地図情報が保存されていなくてもODD解析が可能です。

CHANGELOG

Changelog for package driving_environment_analyzer

0.2.0 (2025-03-24)

  • fix(driving_environment_analyzer): add missing include files for autoware_universe_utils (#212)
  • Contributors: Ryohsuke Mitsudome

0.1.0 (2025-01-28)

  • unify version to 0.0.0
  • fix: to use autoware_lanelet2_extension (#178)
    • Fixed to use autoware_lanelet2_extension

    * style(pre-commit): autofix ---------Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]\@users.noreply.github.com>

  • chore: sync files (#11) Co-authored-by: github-actions <<github-actions@github.com>> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]\@users.noreply.github.com>
  • add autoware prefix to map_loader (#122) Co-authored-by: SakodaShintaro <<rgbygscrsedppbwg@gmail.com>>
  • fix(driving_environment_analyzer): remove unused autoware_interpolation dependency (#123)
  • refactor: update signal_processing downstream dependencies (#110)
  • add autoware_ prefix to map_projection_loader (#93)
  • refactor(universe_utils/motion_utils)!: add autoware namespace (#59) * refactor(universe_utils): add autoware namespace style(pre-commit): autofix * refactor(motion_utils): add autoware namespace ---------

  • refactor(motion_utils)!: add autoware prefix and include dir (#53) style(pre-commit): autofix
  • refactor(autoware_universe_utils)!: rename tier4_autoware_utils to autoware_universe_utils (#52) Co-authored-by: kosuke55 <<kosuke.tnp@gmail.com>> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]\@users.noreply.github.com>
  • refactor(route_handler)!: include autoware_route_handler (#54) Co-authored-by: M. Fatih Cırıt <<xmfcx@users.noreply.github.com>>
  • fix(driving_environment_analyzer): fix unused package dependency (#46)
    • fix: deps
    • fix: formatter

    * style(pre-commit): autofix ---------Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]\@users.noreply.github.com>

  • fix package dependency, includes and access (#38)
  • fix(driving_environment_analyzer): fixed depend pkg name about behavior_path_planner_common (#36)
    • Fixed depend pkg name from behavior_path_planner_common to autoware_behavior_path_planner_common
    • style(pre-commit): autofix
    • fix: add deps
    • fix: add deps
    • style(pre-commit): autofix

    * Added "autoware_" to lane_departure_checker ---------Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]\@users.noreply.github.com> Co-authored-by: satoshi-ota <<satoshi.ota928@gmail.com>>

  • feat!: change from autoware_auto_msgs to autoware_msgs (#30)
    • feat!: replace autoware_auto_msgs with autoware_msgs
    • style(pre-commit): autofix
    • feat: port remaining autoware_auto_msgs to autoware_msgs (#32)
    • feat: port remaining autoware_auto_msgs to autoware_msgs

    * style(pre-commit): autofix ---------Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]\@users.noreply.github.com>

    • remove <depend>autoware_msgs</depend>

    * remove non-existent dep ---------Co-authored-by: mitsudome-r <<ryohsuke.mitsudome@tier4.jp>> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]\@users.noreply.github.com> Co-authored-by: Ryohsuke Mitsudome <<43976834+mitsudome-r@users.noreply.github.com>> Co-authored-by: M. Fatih Cırıt <<mfc@leodrive.ai>>

  • feat(driving_environment_analyzer): remove dependency to autoware_auto_tf2 (#31)
  • feat(driving_environment_analyzer): add rviz plugin (#23)
    • feat(driving_environment_analyzer): add rviz plugin

    * feat(driving_environment_analyzer): output csv file ---------

  • feat(driving_environment_analyzer): add new package (#13)
    • feat(driving_environment_analyzer): add package
    • fix: typo

    * fix: rename func ---------

  • Contributors: Esteve Fernandez, Kosuke Takeuchi, M. Fatih Cırıt, Masaki Baba, Ryohsuke Mitsudome, SakodaShintaro, Satoshi OTA, Takayuki Murooka, Yukihiro Saito, Yutaka Kondo, awf-autoware-bot[bot], mkquda

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

  • launch/driving_environment_analyzer.launch.xml
      • map_path
      • bag_path
      • use_map_in_bag [default: false]
      • lanelet2_map_loader_param_path [default: $(find-pkg-share autoware_launch)/config/map/lanelet2_map_loader.param.yaml]
      • map_projection_loader_param_path [default: $(find-pkg-share autoware_launch)/config/map/map_projection_loader.param.yaml]

Messages

No message files found.

Services

No service files found

Plugins

Recent questions tagged driving_environment_analyzer at Robotics Stack Exchange

No version for distro noetic. Known supported distros are highlighted in the buttons above.
No version for distro ardent. Known supported distros are highlighted in the buttons above.
No version for distro bouncy. Known supported distros are highlighted in the buttons above.
No version for distro crystal. Known supported distros are highlighted in the buttons above.
No version for distro eloquent. Known supported distros are highlighted in the buttons above.
No version for distro dashing. Known supported distros are highlighted in the buttons above.
No version for distro galactic. Known supported distros are highlighted in the buttons above.
No version for distro foxy. Known supported distros are highlighted in the buttons above.
No version for distro iron. Known supported distros are highlighted in the buttons above.
No version for distro lunar. Known supported distros are highlighted in the buttons above.
No version for distro jade. Known supported distros are highlighted in the buttons above.
No version for distro indigo. Known supported distros are highlighted in the buttons above.
No version for distro hydro. Known supported distros are highlighted in the buttons above.
No version for distro kinetic. Known supported distros are highlighted in the buttons above.
No version for distro melodic. Known supported distros are highlighted in the buttons above.