Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
39 commits
Select commit Hold shift + click to select a range
d52f945
feat: support jazzy
MasatoSaeki Apr 22, 2026
603e4c1
support for ros package
MasatoSaeki Apr 22, 2026
a89d4bd
avoid pip error
MasatoSaeki Apr 22, 2026
6a1c9ff
pre-commit
MasatoSaeki Apr 22, 2026
35dec36
update pip and wheel version
MasatoSaeki Apr 22, 2026
72370fb
remove pip cache dir
MasatoSaeki Apr 22, 2026
3f1afd3
chore
MasatoSaeki Apr 22, 2026
763c518
update build
MasatoSaeki Apr 22, 2026
c49fc6a
restrict setuptools version
MasatoSaeki Apr 22, 2026
bd70bf1
only use installed setuptools
MasatoSaeki Apr 22, 2026
2d07854
keep lark
MasatoSaeki Apr 22, 2026
7cba9b5
break line in CMake
MasatoSaeki Apr 22, 2026
f558a68
remove --only-binary shapely
MasatoSaeki Apr 22, 2026
cb7d6f8
move ci to CMake
MasatoSaeki Apr 22, 2026
0fff381
refactor
MasatoSaeki Apr 22, 2026
0b48798
remove uninstall lark rospkg
MasatoSaeki Apr 22, 2026
6be6cff
add --ingore-install
MasatoSaeki Apr 22, 2026
1f83bba
restrict matplotlib
MasatoSaeki Apr 22, 2026
3aa3330
remove pip_no_cashe_dir
MasatoSaeki Apr 22, 2026
06c9445
diet CMake
MasatoSaeki Apr 22, 2026
dea816b
refactor
MasatoSaeki Apr 22, 2026
3443153
pre-commit
MasatoSaeki Apr 22, 2026
881ac7e
fix typo
MasatoSaeki Apr 22, 2026
cf8fa85
tmp save
MasatoSaeki Apr 22, 2026
e4053eb
pre-commit
MasatoSaeki Apr 23, 2026
765a275
update
MasatoSaeki Apr 23, 2026
fd4aa73
remove file
MasatoSaeki Apr 23, 2026
4ccbac3
fix ci
MasatoSaeki Apr 23, 2026
f17cb4e
fix cmake
MasatoSaeki Apr 23, 2026
09691ac
remove unnecessary changes
MasatoSaeki Apr 23, 2026
4b81288
chore
MasatoSaeki Apr 23, 2026
b4f1c77
chore
MasatoSaeki Apr 23, 2026
6af406c
fix version
MasatoSaeki Apr 23, 2026
4a5dc3d
remove unnecessary code
MasatoSaeki Apr 23, 2026
e82c0b7
remove unnecessary file
MasatoSaeki Apr 23, 2026
185d930
update docs
MasatoSaeki Apr 23, 2026
0bd9b23
change args of TopicMetadata
MasatoSaeki Apr 23, 2026
ef7a0d8
align TopicMetadata interface
MasatoSaeki Apr 23, 2026
2dedec9
Update requirements for ROS 2 and Python versions
MasatoSaeki Apr 27, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: colcon-test
name: colcon-test (humble)

on:
pull_request:
Expand Down Expand Up @@ -48,7 +48,7 @@ jobs:
with:
package-name: ${{ steps.list_packages.outputs.package_list }}
target-ros2-distro: ${{ matrix.ros_distribution }}
vcs-repo-file-url: dependency.repos
vcs-repo-file-url: dependency/humble.repos
import-token: ${{ secrets.GITHUB_TOKEN }}
colcon-defaults: |
{
Expand Down
84 changes: 84 additions & 0 deletions .github/workflows/colcon-test-jazzy.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
name: colcon-test (jazzy)

on:
pull_request:
types: [opened, synchronize]
paths: [driving_log_replayer_v2/**, .github/workflows/colcon-test-jazzy.yaml]
schedule:
- cron: 0 0 * * 0
workflow_dispatch:

jobs:
colcon-test:
runs-on: ubuntu-latest
# PEP 668: for rosdep pip rules
# https://docs.ros.org/en/independent/api/rosdep/html/pip_and_pep_668.html
env:
PIP_BREAK_SYSTEM_PACKAGES: "1"
strategy:
fail-fast: false
matrix:
ros_distribution:
- jazzy
include:
# Jazzy Jalisco (May 2024 - May 2029)
- docker_image: rostooling/setup-ros-docker:ubuntu-noble-ros-jazzy-ros-base-latest
ros_distribution: jazzy
ros_version: 2
container:
image: ${{ matrix.docker_image }}
steps:
- name: Cancel Previous Runs
uses: styfle/cancel-workflow-action@0.12.1
with:
access_token: ${{ secrets.GITHUB_TOKEN }}

- name: Checkout
uses: actions/checkout@v5

- name: Search packages in this repository
id: list_packages
run: |
echo package_list=$(colcon list --names-only | sed -e ':loop; N; $!b loop; s/\n/ /g') >> $GITHUB_OUTPUT

- name: Setup ROS environment
uses: ros-tooling/setup-ros@0.7.15
with:
required-ros-distributions: ${{ matrix.ros_distribution }}

- name: build and test
uses: ros-tooling/action-ros-ci@v0.4
id: actions_ros_ci_step
with:
package-name: ${{ steps.list_packages.outputs.package_list }}
target-ros2-distro: ${{ matrix.ros_distribution }}
vcs-repo-file-url: dependency/jazzy.repos
import-token: ${{ secrets.GITHUB_TOKEN }}
colcon-defaults: |
{
"build": {
"mixin": ["coverage-pytest"]
},
"test": {
"mixin": ["coverage-pytest"]
}
}
colcon-mixin-repository: https://raw.githubusercontent.com/colcon/colcon-mixin-repository/b8436aa16c0bdbc01081b12caa253cbf16e0fb82/index.yaml

- name: Upload Unit Test Output
uses: actions/upload-artifact@v4
if: ${{ !cancelled() && !github.event.pull_request.head.repo.fork }}
with:
name: colcon-logs
path: ${{ steps.action_ros_ci_step.outputs.ros-workspace-directory-name }}/log

- name: fix paths for coverage file
if: ${{ !github.event.pull_request.head.repo.fork }}
run: sed -E -i 's/^([[:space:]]*<source>[[:space:]]*)(.*\/)(driving_log_replayer_v2\/driving_log_replayer_v2)/\1.\/driving_log_replayer_v2/' /__w/driving_log_replayer_v2/driving_log_replayer_v2/ros_ws/build/driving_log_replayer_v2/pytest_cov/driving_log_replayer_v2/coverage.xml

- name: Upload Coverage File
uses: actions/upload-artifact@v4
if: ${{ !cancelled() && !github.event.pull_request.head.repo.fork }}
with:
name: colcon-logs
path: /__w/driving_log_replayer_v2/driving_log_replayer_v2/ros_ws/build/driving_log_replayer_v2/pytest_cov/driving_log_replayer_v2/
1 change: 1 addition & 0 deletions .vscode/c_cpp_properties.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
},
"includePath": [
"/opt/ros/humble/include/**",
"/opt/ros/jazzy/include/**",
"driving_log_replayer_v2/include/**",
"${workspaceFolder}/../../../install/**",
"/usr/include/**",
Expand Down
46 changes: 43 additions & 3 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@
"editor.defaultFormatter": "charliermarsh.ruff"
},
"python.autoComplete.extraPaths": [
// ROS2 Humble and Python 3.10
"/opt/ros/humble/lib/python3.10/site-packages",
"${workspaceFolder}/../../../install/autoware_perception_msgs/local/lib/python3.10/dist-packages",
"${workspaceFolder}/../../../install/autoware_vehicle_msgs/local/lib/python3.10/dist-packages",
Expand All @@ -42,9 +43,29 @@
"${workspaceFolder}/../../../install/autoware_common_msgs/local/lib/python3.10/dist-packages",
"${workspaceFolder}/../../../install/autoware_adapi_v1_msgs/local/lib/python3.10/dist-packages",
"${workspaceFolder}/../../../install/tier4_metric_msgs/local/lib/python3.10/dist-packages",
"${workspaceFolder}/../../../install/autoware_internal_planning_msgs/local/lib/python3.10/dist-packages"
"${workspaceFolder}/../../../install/autoware_internal_planning_msgs/local/lib/python3.10/dist-packages",
// ROS2 Jazzy and Python 3.12
"/opt/ros/jazzy/lib/python3.12/site-packages",
"${workspaceFolder}/../../../install/autoware_perception_msgs/local/lib/python3.12/dist-packages",
"${workspaceFolder}/../../../install/autoware_vehicle_msgs/local/lib/python3.12/dist-packages",
"${workspaceFolder}/../../../install/autoware_map_msgs/local/lib/python3.12/dist-packages",
"${workspaceFolder}/../../../install/tier4_planning_msgs/local/lib/python3.12/dist-packages",
"${workspaceFolder}/../../../install/perception_eval/local/lib/python3.12/dist-packages",
"${workspaceFolder}/../../../install/ros2_numpy/local/lib/python3.12/dist-packages",
"${workspaceFolder}/../../../install/driving_log_replayer_v2_msgs/local/lib/python3.12/dist-packages",
"${workspaceFolder}/../../../install/autoware_internal_debug_msgs/local/lib/python3.12/dist-packages",
"${workspaceFolder}/../../../install/driving_log_replayer_v2_analyzer/local/lib/python3.12/dist-packages",
"${workspaceFolder}/../../../install/autoware_internal_localization_msgs/local/lib/python3.12/dist-packages",
"${workspaceFolder}/../../../install/tier4_api_msgs/local/lib/python3.12/dist-packages",
"${workspaceFolder}/../../../install/tier4_perception_msgs/local/lib/python3.12/dist-packages",
"${workspaceFolder}/../../../install/autoware_lanelet2_extension_python/local/lib/python3.12/dist-packages",
"${workspaceFolder}/../../../install/autoware_common_msgs/local/lib/python3.12/dist-packages",
"${workspaceFolder}/../../../install/autoware_adapi_v1_msgs/local/lib/python3.12/dist-packages",
"${workspaceFolder}/../../../install/tier4_metric_msgs/local/lib/python3.12/dist-packages",
"${workspaceFolder}/../../../install/autoware_internal_planning_msgs/local/lib/python3.12/dist-packages"
],
"python.analysis.extraPaths": [
// ROS2 Humble and Python 3.10
"/opt/ros/humble/lib/python3.10/site-packages",
"${workspaceFolder}/../../../install/autoware_perception_msgs/local/lib/python3.10/dist-packages",
"${workspaceFolder}/../../../install/autoware_vehicle_msgs/local/lib/python3.10/dist-packages",
Expand All @@ -62,7 +83,26 @@
"${workspaceFolder}/../../../install/autoware_common_msgs/local/lib/python3.10/dist-packages",
"${workspaceFolder}/../../../install/autoware_adapi_v1_msgs/local/lib/python3.10/dist-packages",
"${workspaceFolder}/../../../install/tier4_metric_msgs/local/lib/python3.10/dist-packages",
"${workspaceFolder}/../../../install/autoware_internal_planning_msgs/local/lib/python3.10/dist-packages"
"${workspaceFolder}/../../../install/autoware_internal_planning_msgs/local/lib/python3.10/dist-packages",
// ROS2 Jazzy and Python 3.12
"/opt/ros/jazzy/lib/python3.12/site-packages",
"${workspaceFolder}/../../../install/autoware_perception_msgs/local/lib/python3.12/dist-packages",
"${workspaceFolder}/../../../install/autoware_vehicle_msgs/local/lib/python3.12/dist-packages",
"${workspaceFolder}/../../../install/autoware_map_msgs/local/lib/python3.12/dist-packages",
"${workspaceFolder}/../../../install/tier4_planning_msgs/local/lib/python3.12/dist-packages",
"${workspaceFolder}/../../../install/perception_eval/local/lib/python3.12/dist-packages",
"${workspaceFolder}/../../../install/ros2_numpy/local/lib/python3.12/dist-packages",
"${workspaceFolder}/../../../install/driving_log_replayer_v2_msgs/local/lib/python3.12/dist-packages",
"${workspaceFolder}/../../../install/autoware_internal_debug_msgs/local/lib/python3.12/dist-packages",
"${workspaceFolder}/../../../install/driving_log_replayer_v2_analyzer/local/lib/python3.12/dist-packages",
"${workspaceFolder}/../../../install/autoware_internal_localization_msgs/local/lib/python3.12/dist-packages",
"${workspaceFolder}/../../../install/tier4_api_msgs/local/lib/python3.12/dist-packages",
"${workspaceFolder}/../../../install/tier4_perception_msgs/local/lib/python3.12/dist-packages",
"${workspaceFolder}/../../../install/autoware_lanelet2_extension_python/local/lib/python3.12/dist-packages",
"${workspaceFolder}/../../../install/autoware_common_msgs/local/lib/python3.12/dist-packages",
"${workspaceFolder}/../../../install/autoware_adapi_v1_msgs/local/lib/python3.12/dist-packages",
"${workspaceFolder}/../../../install/tier4_metric_msgs/local/lib/python3.12/dist-packages",
"${workspaceFolder}/../../../install/autoware_internal_planning_msgs/local/lib/python3.12/dist-packages"
],
"files.associations": {
"cctype": "cpp",
Expand Down Expand Up @@ -145,5 +185,5 @@
"stop_token": "cpp",
"functional": "cpp"
},
"ros.distro": "humble"
"ros.distro": "humble" // or "jazzy"
}
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@ driving_log_replayer_v2 is a ROS package that evaluates the functionality of Aut

## Requirements

- ROS 2 humble
- [Python 3.10](https://www.python.org/)
- ROS 2 humble or Jazzy
- Python 3.10 or 3.12

### Optional

Expand Down
File renamed without changes.
38 changes: 38 additions & 0 deletions dependency/jazzy.repos
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
repositories:
autoware/autoware_msgs:
type: git
url: https://github.com/autowarefoundation/autoware_msgs.git
version: 1.3.0
autoware/autoware_adapi_msgs:
type: git
url: https://github.com/autowarefoundation/autoware_adapi_msgs.git
version: beta/1.7.0
autoware/autoware_internal_msgs:
type: git
url: https://github.com/autowarefoundation/autoware_internal_msgs.git
version: 1.3.0
autoware/autoware_cmake:
type: git
url: https://github.com/autowarefoundation/autoware_cmake.git
version: 1.0.0
autoware/autoware_utils:
type: git
url: https://github.com/autowarefoundation/autoware_utils.git
version: 1.0.0
autoware/autoware_lanelet2_extension:
type: git
url: https://github.com/autowarefoundation/autoware_lanelet2_extension.git
version: 0.12.0
autoware/tier4_autoware_msgs:
type: git
url: https://github.com/tier4/tier4_autoware_msgs.git
version: tier4/universe
# simulator
simulator/perception_eval:
type: git
url: https://github.com/tier4/autoware_perception_evaluation.git
version: main
simulator/vendor/ros2_numpy:
type: git
url: https://github.com/Box-Robotics/ros2_numpy.git
version: jazzy
17 changes: 13 additions & 4 deletions docs/quick_start/installation.en.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,22 @@ This document contains step-by-step instruction on how to build [AWF Autoware Co
## Requirements

- CPU amd64
- Ubuntu 22.04
- ROS humble
- Python 3.10
- NVIDIA GPU (required if running perception)
- [zstd](https://github.com/facebook/zstd)
- sudo apt install zstd

Supported environment: either the Humble stack or the Jazzy stack below.

- Ubuntu 22.04
- ROS Humble
- Python 3.10

or

- Ubuntu 24.04
- ROS Jazzy
- Python 3.12

## How to build

1. Navigate to the Autoware workspace:
Expand Down Expand Up @@ -39,7 +48,7 @@ This document contains step-by-step instruction on how to build [AWF Autoware Co
simulator/vendor/ros2_numpy:
type: git
url: https://github.com/Box-Robotics/ros2_numpy.git
version: humble
version: humble # or jazzy
simulator/vendor/ros2bag_extensions:
type: git
url: https://github.com/tier4/ros2bag_extensions.git
Expand Down
17 changes: 13 additions & 4 deletions docs/quick_start/installation.ja.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,22 @@
## Requirements

- CPU amd64
- Ubuntu 22.04
- ROS humble
- Python 3.10
- NVIDIA GPU (required if running perception)
- [zstd](https://github.com/facebook/zstd)
- sudo apt install zstd

次のいずれかの環境セットを満たす必要がある。

- Ubuntu 22.04
- ROS Humble
- Python 3.10

or

- Ubuntu 24.04
- ROS Jazzy
- Python 3.12

## ビルド方法

1. Autoware workspace に移動する:
Expand Down Expand Up @@ -39,7 +48,7 @@
simulator/vendor/ros2_numpy:
type: git
url: https://github.com/Box-Robotics/ros2_numpy.git
version: humble
version: humble # or jazzy
simulator/vendor/ros2bag_extensions:
type: git
url: https://github.com/tier4/ros2bag_extensions.git
Expand Down
19 changes: 17 additions & 2 deletions driving_log_replayer_v2/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,20 @@ find_package(ament_cmake_python REQUIRED)
find_package(autoware_cmake REQUIRED)
autoware_package()

set(ROS_REQUIREMENTS "${CMAKE_CURRENT_SOURCE_DIR}/../requirements.txt")
execute_process(COMMAND bash -c "python3 -m pip install -r ${ROS_REQUIREMENTS}")
find_package(Python3 REQUIRED COMPONENTS Interpreter)
if(Python3_VERSION VERSION_GREATER_EQUAL "3.10" AND Python3_VERSION VERSION_LESS "3.12")
set(ROS_REQUIREMENTS "${CMAKE_CURRENT_SOURCE_DIR}/../requirements/humble.txt")
execute_process(COMMAND bash -c "python3 -m pip install -r ${ROS_REQUIREMENTS}")
elseif(Python3_VERSION VERSION_GREATER_EQUAL "3.12")
set(ROS_REQUIREMENTS "${CMAKE_CURRENT_SOURCE_DIR}/../requirements/jazzy.txt")
execute_process(COMMAND bash -c "PIP_BREAK_SYSTEM_PACKAGES=1 python3 -m pip install --ignore-installed -r ${ROS_REQUIREMENTS}")
else()
message(
FATAL_ERROR
"Python version ${Python3_VERSION} is not supported. "
"Use Python 3.10+ (3.10–3.11 or 3.12+ as configured for this build)."
)
endif()

if(BUILD_TESTING)
find_package(ament_lint_auto REQUIRED)
Expand Down Expand Up @@ -40,6 +52,9 @@ install(PROGRAMS
DESTINATION lib/${PROJECT_NAME}
)

install(FILES "${ROS_REQUIREMENTS}"
DESTINATION share/${PROJECT_NAME})

ament_auto_package(INSTALL_TO_SHARE
launch
config
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@

import numpy as np
import ros2_numpy
from rosbag2_py import TopicMetadata
from std_msgs.msg import String

from driving_log_replayer_v2.ground_segmentation.evaluation_manager import (
Expand All @@ -29,11 +28,13 @@
from driving_log_replayer_v2.ground_segmentation.models import GroundSegmentationResult
from driving_log_replayer_v2.ground_segmentation.models import GroundSegmentationScenario
import driving_log_replayer_v2.perception_eval_conversions as eval_conversions
from driving_log_replayer_v2.post_process.ros2_utils import get_topic_metadata
from driving_log_replayer_v2.post_process.runner import ConvertedData
from driving_log_replayer_v2.post_process.runner import Runner
from driving_log_replayer_v2.post_process.runner import UseCaseInfo

if TYPE_CHECKING:
from rosbag2_py import TopicMetadata
from sensor_msgs.msg import PointCloud2
from std_msgs.msg import Header

Expand Down Expand Up @@ -105,11 +106,9 @@ def _get_use_case_info_list(

def _get_external_record_topics(self) -> list[TopicMetadata]:
return [
TopicMetadata(
get_topic_metadata(
name="/driving_log_replayer_v2/ground_segmentation/results",
type="std_msgs/msg/String",
serialization_format="cdr",
offered_qos_profiles="",
topic_type="std_msgs/msg/String",
),
]

Expand Down
Loading
Loading