Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(behavior_path_planner): prevent crashes with the drivable area expansion #916

Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
153 commits
Select commit Hold shift + click to select a range
198587c
refactor(radar_fusion_to_detected_object): rework parameters (#4663)
PhoebeWu21 Aug 30, 2023
14deed5
feat(intersection): strict definition of stuck vehicle detection area…
soblin Aug 30, 2023
741ab23
build(behavior_velocity_intersection_module): add libopencv-dev depen…
esteve Aug 30, 2023
812910a
feat(geography_utils): add geography_utils package (#4807)
kminoda Aug 30, 2023
5f04a37
fix(lane_change): fix lane_change document (#4817)
KeisukeShima Aug 30, 2023
058680d
fix(goal_planner): set correct reference path (#4809)
satoshi-ota Aug 30, 2023
54b3958
feat(dynamic_avoidance): generate drivable area by ego/object-path-ba…
takayuki5168 Aug 30, 2023
0b2afec
fix(crosswalk): fix plotter data (#4822)
takayuki5168 Aug 30, 2023
721d9d3
chore(map_base_prediction): add maintainer (#4825)
kyoichi-sugahara Aug 30, 2023
8f71125
chore(build): include missing lanelet2 header (#4819)
soblin Aug 31, 2023
053d31f
refactor(goal_planner): remove unncecessary variable (#4810)
kosuke55 Aug 31, 2023
a37ef72
Merge pull request #781 from tier4/sync-upstream
tier4-autoware-public-bot[bot] Aug 31, 2023
2df7540
chore: update CODEOWNERS (#4759)
awf-autoware-bot[bot] Aug 31, 2023
a8ad076
refactor(behavior_path_planner): scene module interface clang-tidy (#…
zulfaqar-azmi-t4 Aug 31, 2023
124dc1d
refactor(behavior_path_plannner): commonize collision check markers (…
zulfaqar-azmi-t4 Aug 31, 2023
3dd38de
fix(control_validator): fix error msg (#4794)
kyoichi-sugahara Aug 31, 2023
1b1ac5c
fix(walkway): fix module launch condition (#4823)
satoshi-ota Aug 31, 2023
b09f309
feat(behavior_path_planner): add virtual stop wall for lane change (#…
rej55 Aug 31, 2023
9fae131
chore(build): remove tier4_autoware_utils.hpp in vehicle/ (#4829)
soblin Aug 31, 2023
b16ab34
fix(behavior_path_planner): proper drivable area expansion limit with…
maxime-clem Aug 31, 2023
8e6d440
docs(behavior_path_planner): fix object_check_min_road_shoulder_width…
rej55 Aug 31, 2023
63033be
feat: add feature to convert json schema to markdown table (#4656)
mitsudome-r Aug 31, 2023
b2e4582
chore(build): remove motion_utils.hpp in common/ (#4827)
soblin Aug 31, 2023
58db04e
feat(interface): add new option `last_keep` (#4811)
satoshi-ota Aug 31, 2023
eaa6a40
Merge pull request #783 from tier4/sync-upstream
tier4-autoware-public-bot[bot] Sep 1, 2023
834dd07
feat(behavior_path_planner): more stable dynamic drivable area expans…
maxime-clem Sep 1, 2023
39e5999
fix(out_of_lane): handle undetected overlap edge cases (#4761)
maxime-clem Sep 1, 2023
ade1c41
chore(build): remove tier4_autoware_utils.hpp in common/ (#4828)
soblin Sep 1, 2023
fbb59d9
feat(out_of_lane): filter predicted paths and add min assumed velocit…
maxime-clem Sep 1, 2023
6b118c2
fix(lane_change): fix state transition in lane change for multiple mo…
rej55 Sep 1, 2023
acfe549
fix(behavior_path_planner): fix left/right split of the drivable area…
maxime-clem Sep 1, 2023
472a678
chore(build): remove tier4_autoware_utils.hpp system/ (#4840)
soblin Sep 1, 2023
af34f67
fix(map_projection_loader): fix altitude output (#4850)
kminoda Sep 1, 2023
9eb5b14
chore(build): remove tier4_autoware_utils.hpp localization/ map/ (#4842)
soblin Sep 1, 2023
1628175
feat(gnss_poser): subscribe map projector info (#4791)
kminoda Sep 1, 2023
887722c
chore(build): remove tier4_autoware_utils.hpp evaluator/ simulator/ (…
soblin Sep 2, 2023
b50e1d7
refactor(no-drivable-lane): use getOrDeclareParameter (#4768)
TakaHoribe Sep 2, 2023
038655b
chore(planning_debug_tools): enable to set max velocity by arg in tra…
tkimura4 Sep 3, 2023
c03fb2f
feat(rviz_plugin): add target object type display (#4855)
TakaHoribe Sep 3, 2023
3d45631
refactor(behavior_path_planner): consolidate common function which is…
kyoichi-sugahara Sep 3, 2023
3a370d4
fix(control_validator): resolve the bug causing inappropriate diagnos…
keiota Sep 3, 2023
1e0db7b
chore(build): remove motion_utils.hpp and tier4_autoware_utils.hpp co…
soblin Sep 4, 2023
757d986
fix(avoidance): fix lateral distance calculation (#4820)
satoshi-ota Sep 4, 2023
c2d8f70
Merge pull request #785 from tier4/sync-upstream
tier4-autoware-public-bot[bot] Sep 4, 2023
245a9a4
fix(utils): improve sharp bound cleaning (#4838)
satoshi-ota Sep 4, 2023
3ac89a1
refactor(behavior_path_planner): add vehicle_info_ as member variable…
kyoichi-sugahara Sep 4, 2023
9f00bae
feat(behavior_path_planner): add always executable module option (#4785)
kosuke55 Sep 4, 2023
b255111
feat(geography_utils): add lanelet2_projector (#4852)
kminoda Sep 4, 2023
be43107
chore(imu_corrector): remove library compilation (#4849)
kminoda Sep 4, 2023
1d55094
chore(build): remove tier4_autoware_utils.hpp sensing/ (#4841)
soblin Sep 4, 2023
9c2fc0d
feat(avoidance): check incomming vehicle (#4864)
satoshi-ota Sep 4, 2023
2f84a92
fix(utils): fix invalid drivable area z-position (#4866)
satoshi-ota Sep 4, 2023
e820499
feat(map_based_prediciton): enable map_based_prediction.launch.xml to…
YoshiRi Sep 4, 2023
75fc60f
fix(lat_lon_controller): change reference to the node (#3696)
TauTheLepton Sep 4, 2023
9ac0ea4
fix(imu_corrector): fix build failure (#4867)
kminoda Sep 4, 2023
532c050
chore(traffic_light_arbiter): use THROTTLE to prevent obscuring other…
TomohitoAndo Sep 4, 2023
58a0007
fix(planner_manager): fix module swapping logic (#4845)
satoshi-ota Sep 4, 2023
51af068
refactor(goal_planner): refactor isAllowedGoalModification (#4856)
kosuke55 Sep 4, 2023
fa8da4c
fix(crosswalk): set large minus value in rtc distance if the ego alre…
satoshi-ota Sep 4, 2023
d339c09
feat(geography_utils): add projection in geography_utils (#4833)
kminoda Sep 4, 2023
26086bf
fix(lane_change): skip parked object filtering (#4868)
rej55 Sep 4, 2023
8088566
fix(behavior_path_planner): fix checkOriginalGoalIsInShoulder (#4878)
kosuke55 Sep 4, 2023
e68e8ac
fix(radar_fusion_to_detected_object): fix parameter handling (#4837)
scepter914 Sep 4, 2023
feb34ed
docs(behavior_path_planner): fix table (#4875)
kyoichi-sugahara Sep 4, 2023
bc48f56
fix(avoidance): use find nearest index to calculate object's overhang…
satoshi-ota Sep 5, 2023
6ae2654
fix(start_planner): start pose candidates (#4880)
kosuke55 Sep 5, 2023
9bb0f1e
Merge pull request #797 from tier4/sync-upstream
tier4-autoware-public-bot[bot] Sep 5, 2023
624023c
perf(crosswalk): decrease calcSignedArcLength() process (#4879)
satoshi-ota Sep 5, 2023
ed511b1
chore(build): remove tier4_autoware_utils.hpp perception/ (#4843)
soblin Sep 5, 2023
12fcbc0
ci: ignore tier4_pcl_extensions and remove sensing ignorance (#4865)
kminoda Sep 5, 2023
5094fa2
docs(out_of_lane): fix parameters description (#4246)
maxime-clem Sep 5, 2023
87b3b4e
fix(goal_planner): fix goal search for narrow shoulder lane (#4816)
kosuke55 Sep 5, 2023
46a263c
fix(route_handler): fix getter for pose (#4884)
kosuke55 Sep 5, 2023
30ec8f7
fix(behavior_path_planner): save original route goal pose (#4876)
kosuke55 Sep 5, 2023
6806b13
fix(ndt_scan_matcher): skipping_publish_num does not switches error s…
yvzksgl Sep 5, 2023
d087680
chore: update maintainer of TLR packages (#4882)
miursh Sep 5, 2023
a0ce39a
feat(behavior_path_planner): add safety check against dynamic objects…
kyoichi-sugahara Sep 5, 2023
cc6efbf
feat(goal_planner): set ignore_distance_from_lane_start 0.0 (#4889)
kosuke55 Sep 5, 2023
340b10e
fix(operation_transition_manager): trajectgory deviation calculation …
TakaHoribe Sep 5, 2023
c03ca78
refactor(start/goal_planner): minor refactor like const and reference…
kosuke55 Sep 5, 2023
b1f1548
refactor(start/goal_planner): use combineLanelets (#4894)
kosuke55 Sep 5, 2023
c442e38
feat(goal_planner): do not use minimum_request_length for fixed goal …
kosuke55 Sep 5, 2023
dec3d06
fix(start_planner): fix start pose candidats when the ego is close to…
kosuke55 Sep 5, 2023
23851b6
feat(start_planner): run start planner even if ego is out of lane (#4…
kosuke55 Sep 5, 2023
727019b
Merge pull request #802 from tier4/sync-upstream
tier4-autoware-public-bot[bot] Sep 6, 2023
3cb06ff
feat(intersection): do not generate stuck vehicle detect area before …
soblin Sep 6, 2023
c8f826d
refactor(radar_static_pointcloud_filter): rework parameters (#4871)
PhoebeWu21 Sep 6, 2023
318cddb
fix(behavior_path_planner): fix functions related to pull over lanes …
kosuke55 Sep 6, 2023
e9aacc3
fix(avoidance): don't output unfeasible path (#4899)
satoshi-ota Sep 6, 2023
b1e6fcf
fix(planning_debug_tools): disable traffic light msg in perception re…
maxime-clem Sep 6, 2023
0ab6a3b
feat(behavior_velocity): support new traffic signal interface (#4133)
TomohitoAndo Sep 6, 2023
06d135b
Merge pull request #807 from tier4/sync-upstream
tier4-autoware-public-bot[bot] Sep 7, 2023
114f72a
feat(operation_transition_mannager): add param enable_engage_on_drivi…
TakaHoribe Sep 7, 2023
e73231d
fix(start_planner): fix drivable area without shoulder lanes (#4909)
kosuke55 Sep 7, 2023
4a7da1d
fix(image_projection_based_fusion): multi class of one point (#4705)
tzhong518 Sep 7, 2023
2e6bc3f
chore(ekf_localizer): organize test (#4913)
kminoda Sep 7, 2023
7524463
docs(map_based_prediction): minor refactor for explanation of paramet…
kyoichi-sugahara Sep 7, 2023
6bf9650
refactor(trajectory_visualizer): remove duplicated implementation (#4…
TakaHoribe Sep 7, 2023
c377d10
feat(lane_departure_checker): add border types to check (#4861)
kyoichi-sugahara Sep 7, 2023
a0b0227
refactor(behavior_path_planner): visualize debug information of safet…
kyoichi-sugahara Sep 7, 2023
576acf1
chore(build): fix traffic_light_map_based_detector (#4921)
soblin Sep 8, 2023
ea4b7d3
Merge pull request #809 from tier4/sync-upstream
tier4-autoware-public-bot[bot] Sep 8, 2023
28f5b18
docs(planning_debug_tools): rename readme to README (#4222)
TakaHoribe Sep 8, 2023
cd3956e
docs(operation_transition_manager): update readme (#4888)
TakaHoribe Sep 8, 2023
1a11017
ci: add dispatch-push-event workflow (#803)
KeisukeShima Sep 8, 2023
b498c53
feat(ndt_scan_matcher): add diag lidar_topic_delay_time_sec (#4815)
YamatoAndo Sep 8, 2023
61fef17
feat(planning_debug_tools): support old auto TrafficSignalArray (#4910)
kosuke55 Sep 8, 2023
49f3bd6
feat(planning_debug_tools): add recorded ego pose publisher to percep…
kosuke55 Sep 8, 2023
85f8db3
fix(tier4_planning_rviz_plugin): update vehicle info parameters in pa…
takayuki5168 Sep 9, 2023
38b9e1c
feat(surround_obstacle_checker): make parameters more tunable (#4925)
takayuki5168 Sep 9, 2023
94838a9
chore(build): remove tier4_autoware_utils.hpp/motion_utils.hpp from f…
soblin Sep 9, 2023
1a30fc3
chore(build): remove tier4_autoware_utils.hpp/motion_utils.hpp from m…
soblin Sep 9, 2023
477ce95
fix(start_planner): prevent approval when stop path (#4932)
kosuke55 Sep 10, 2023
a25cbe0
chore(build): remove tier4_autoware_utils.hpp/motion_utils.hpp from b…
soblin Sep 10, 2023
be17f4b
Merge pull request #816 from tier4/sync-upstream
tier4-autoware-public-bot[bot] Sep 11, 2023
96d20f8
chore(build): remove tier4_autoware_utils.hpp/motion_utils.hpp from o…
soblin Sep 11, 2023
80b6281
fix(perception_replayer): initialize class variables to prevent crash…
maxime-clem Sep 11, 2023
5e9f992
fix(ar_tag_based_localizer): added small changes (#4885)
SakodaShintaro Sep 11, 2023
8c514cf
fix(vehicle_cmd_gate): use real velocity for the lateral filter (#4918)
TakaHoribe Sep 11, 2023
9468848
fix(static_centerline_optimzier): fix build (#4947)
soblin Sep 11, 2023
a962a21
feat(simple_planning_simulator): consider ego pitch angle for simulat…
takayuki5168 Sep 11, 2023
cdc568d
feat(ndt_scan_matcher): Adding state switch mecahism for nearest_voxe…
yvzksgl Sep 11, 2023
0638a01
feat(radar_object_tracker): add distance and lanelet map based noise …
YoshiRi Sep 11, 2023
f08e64d
refactor(crosswalk_traffic_light_estimator): rework parameters (#4699)
yuntianyi-chen Sep 11, 2023
ccdf539
chore(build): remove tier4_autoware_utils.hpp/motion_utils.hpp from o…
soblin Sep 12, 2023
65b414b
fix(voxel_grid_downsample_filter): support no intensity case (#4922)
atsushi421 Sep 12, 2023
42493b1
chore(build): remove tier4_autoware_utils.hpp/motion_utils.hpp from b…
soblin Sep 12, 2023
ca3731b
fix(start_planner): crop backward path to start from narrow space (#4…
kosuke55 Sep 12, 2023
a0a7ab5
refactor(start_planner): refactor drivable lanes (#4951)
kosuke55 Sep 12, 2023
82006db
fix(start_planner): fix path update (#4931)
kosuke55 Sep 12, 2023
e38612d
fix(static_centerline_optimizer): remove double include (#4956)
SakodaShintaro Sep 12, 2023
8f34f2d
fix(avoidance): clear rtc status in process on entry (#4926)
satoshi-ota Sep 12, 2023
81a3c6d
chore: update sync upstream script (#792)
tkimura4 Sep 12, 2023
18b27a2
chore: add workflow to merge beta branch to tier4 main (#811)
tkimura4 Sep 12, 2023
57b1ef1
feat(behavior_path_planner): add processOnEntry in start_planner (#4953)
kyoichi-sugahara Sep 12, 2023
64ed461
fix: update parameter value (#4955)
ktro2828 Sep 12, 2023
8798d5c
fix(start/goal_planner): fix inverse order path points (#4950)
kosuke55 Sep 12, 2023
3e28ab5
chore(control_validator): use throttle for the error log (#4960)
TakaHoribe Sep 12, 2023
5b22bd3
Merge pull request #823 from tier4/sync-upstream
tier4-autoware-public-bot[bot] Sep 12, 2023
bcf52e0
fix(intersection): stuck stop line generation when ego is over fist c…
soblin Sep 12, 2023
7fd0706
feat(behavior_path_planner): safety check against dynamic objects aft…
kyoichi-sugahara Sep 12, 2023
5b4ade3
fix(behavior_path_planner): use findSegment for segment search (#4963)
TakaHoribe Sep 12, 2023
cd83dc6
fix(start_planner): keep max back distace whithin lanes (#4962)
kosuke55 Sep 12, 2023
db96db8
feat(image_projection_based_fusion): add roi based clustering for sma…
badai-nguyen Sep 12, 2023
4e55ad3
feat(obstacle_cruise_planner): approching stop on curve (#4952)
takayuki5168 Sep 12, 2023
bc18eb4
Merge pull request #828 from tier4/sync-upstream
tier4-autoware-public-bot[bot] Sep 12, 2023
3399a53
fix: camera lidar fusion launch
miursh Sep 13, 2023
87e9ebf
Merge pull request #833 from tier4/fix/camera_lidar_fusion_launch
miursh Sep 14, 2023
1648a2b
fix(resample): remove duplicated poinnt before resampling (#4965)
TakaHoribe Sep 14, 2023
0b9be03
Merge pull request #837 from tier4/beta/v0.12.0-fix-resample-duplicat…
TakaHoribe Sep 14, 2023
18427ca
fix(start_planner): uninitialized hysteresis_factor_expand_rate (#838)
TakaHoribe Sep 14, 2023
339b4bd
Merge pull request #842 from tier4/beta-to-tier4-main-sync
tier4-autoware-public-bot[bot] Sep 15, 2023
6dae621
fix(behavior_path_planner): prevent crashes with the drivable area ex…
maxime-clem Aug 31, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
6 changes: 5 additions & 1 deletion .cspell-partial.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
{
"ignorePaths": ["**/perception/**", "**/sensing/**", "perception/bytetrack/lib/**"],
"ignorePaths": [
"**/perception/**",
"sensing/tier4_pcl_extensions/include/**",
"perception/bytetrack/lib/**"
],
"ignoreRegExpList": [],
"words": []
}
5 changes: 3 additions & 2 deletions .github/CODEOWNERS
Validating CODEOWNERS rules …
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ common/component_interface_tools/** [email protected] [email protected] m
common/component_interface_utils/** [email protected] [email protected] [email protected] [email protected]
common/cuda_utils/** [email protected] [email protected]
common/fake_test_node/** [email protected] [email protected] [email protected] [email protected]
common/geography_utils/** [email protected]
common/global_parameter_loader/** [email protected]
common/glog_component/** [email protected]
common/goal_distance_calculator/** [email protected]
Expand Down Expand Up @@ -117,7 +118,7 @@ perception/lidar_apollo_segmentation_tvm/** [email protected] xinyu.wang@
perception/lidar_apollo_segmentation_tvm_nodes/** [email protected] [email protected]
perception/lidar_centerpoint/** [email protected] [email protected]
perception/lidar_centerpoint_tvm/** [email protected] [email protected]
perception/map_based_prediction/** [email protected] [email protected] [email protected] [email protected]
perception/map_based_prediction/** [email protected] shunsuke.miura@tier4.jp takayuki.murooka@tier4.jp [email protected] [email protected] [email protected]
perception/multi_object_tracker/** [email protected] [email protected]
perception/object_merger/** [email protected] [email protected]
perception/object_range_splitter/** [email protected]
Expand Down Expand Up @@ -166,7 +167,7 @@ planning/freespace_planning_algorithms/** [email protected] takamasa.hori
planning/mission_planner/** [email protected] [email protected] [email protected] [email protected] [email protected] [email protected]
planning/motion_velocity_smoother/** [email protected] [email protected] [email protected] [email protected]
planning/obstacle_avoidance_planner/** [email protected] [email protected] [email protected]
planning/obstacle_cruise_planner/** [email protected] [email protected]
planning/obstacle_cruise_planner/** [email protected] [email protected] [email protected] [email protected]
planning/obstacle_stop_planner/** [email protected] [email protected] [email protected] [email protected] [email protected]
planning/obstacle_velocity_limiter/** [email protected]
planning/path_smoother/** [email protected] [email protected]
Expand Down
34 changes: 34 additions & 0 deletions .github/workflows/beta-to-tier4-main-sync.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
name: beta-to-tier4-main-sync

on:
workflow_dispatch:
inputs:
source_branch:
description: Source branch
required: true
type: string

jobs:
sync-beta-branch:
runs-on: ubuntu-latest
steps:
- name: Generate token
id: generate-token
uses: tibdex/github-app-token@v1
with:
app_id: ${{ secrets.APP_ID }}
private_key: ${{ secrets.PRIVATE_KEY }}

- name: Run sync-branches
uses: autowarefoundation/autoware-github-actions/sync-branches@v1
with:
token: ${{ steps.generate-token.outputs.token }}
base-branch: tier4/main
sync-pr-branch: beta-to-tier4-main-sync
sync-target-repository: https://github.com/tier4/autoware.universe.git
sync-target-branch: ${{ inputs.source_branch }}
pr-title: "chore: sync beta branch ${{ inputs.source_branch }} with tier4/main"
pr-labels: |
bot
sync-beta-branch
auto-merge-method: merge
45 changes: 45 additions & 0 deletions .github/workflows/dispatch-push-event.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
name: dispatch-push-event
on:
push:

jobs:
search-dispatch-repo:
runs-on: ubuntu-latest
strategy:
matrix:
include:
- { version: beta/v0.3.**, dispatch-repo: pilot-auto.x1.eve }
outputs:
dispatch-repo: ${{ steps.search-dispatch-repo.outputs.value }}
steps:
- name: Search dispatch repo
id: search-dispatch-repo
run: |
if [[ ${{ github.ref_name }} =~ ${{ matrix.version }} ]]; then
echo ::set-output name=value::"${{ matrix.dispatch-repo }}"
echo "Detected beta branch: ${{ github.ref_name }}"
echo "Dispatch repository: ${{ matrix.dispatch-repo }}"
fi
dispatch-push-event:
runs-on: ubuntu-latest
needs: search-dispatch-repo
if: ${{ needs.search-dispatch-repo.outputs.dispatch-repo != '' }}
steps:
- name: Generate token
id: generate-token
uses: tibdex/github-app-token@v1
with:
app_id: ${{ secrets.INTERNAL_APP_ID }}
private_key: ${{ secrets.INTERNAL_PRIVATE_KEY }}

# 注意: workflow_dispatchで指定するブランチはmain固定となっているため、dispatch-repoのmainブランチにupdate-beta-branch.yamlが存在することが前提条件。
- name: Dispatch the update-beta-branch workflow
run: |
curl -L \
-X POST \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer ${{ steps.generate-token.outputs.token }}" \
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/repos/tier4/${{ needs.search-dispatch-repo.outputs.dispatch-repo }}/actions/workflows/update-beta-branch.yaml/dispatches \
-d '{"ref":"main"}'
16 changes: 12 additions & 4 deletions .github/workflows/sync-upstream.yaml
Original file line number Diff line number Diff line change
@@ -1,9 +1,12 @@
name: sync-upstream

on:
schedule:
- cron: 0 1 * * 1-5
workflow_dispatch:
inputs:
target_branch:
description: Target branch
required: true
type: string

jobs:
sync-upstream:
Expand All @@ -28,12 +31,17 @@ jobs:
script: |
const holiday_jp = require(`${process.env.GITHUB_WORKSPACE}/node_modules/@holiday-jp/holiday_jp`)
core.setOutput('holiday', holiday_jp.isHoliday(new Date()));
- name: Print warning for invalid branch name
if: ${{ inputs.target_branch == 'tier4/main' }}
run: |
echo This action cannot be performed on 'tier4/main' branch

- name: Run sync-branches
if: ${{ inputs.target_branch != 'tier4/main' }}
uses: autowarefoundation/autoware-github-actions/sync-branches@v1
if: ${{ steps.is-holiday.outputs.holiday != 'true' || github.event_name == 'workflow_dispatch' }}
with:
token: ${{ steps.generate-token.outputs.token }}
base-branch: tier4/main
base-branch: ${{ inputs.target_branch }}
sync-pr-branch: sync-upstream
sync-target-repository: https://github.com/autowarefoundation/autoware.universe.git
sync-target-branch: main
Expand Down
37 changes: 37 additions & 0 deletions common/geography_utils/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
cmake_minimum_required(VERSION 3.14)
project(geography_utils)

find_package(autoware_cmake REQUIRED)
autoware_package()

# GeographicLib
find_package(PkgConfig)
find_path(GeographicLib_INCLUDE_DIR GeographicLib/Config.h
PATH_SUFFIXES GeographicLib
)
set(GeographicLib_INCLUDE_DIRS ${GeographicLib_INCLUDE_DIR})
find_library(GeographicLib_LIBRARIES NAMES Geographic)

ament_auto_add_library(geography_utils SHARED
src/height.cpp
src/projection.cpp
src/lanelet2_projector.cpp
)

target_link_libraries(geography_utils
${GeographicLib_LIBRARIES}
)

if(BUILD_TESTING)
find_package(ament_cmake_ros REQUIRED)

file(GLOB_RECURSE test_files test/*.cpp)

ament_add_ros_isolated_gtest(test_geography_utils ${test_files})

target_link_libraries(test_geography_utils
geography_utils
)
endif()

ament_auto_package()
5 changes: 5 additions & 0 deletions common/geography_utils/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# geography_utils

## Purpose

This package contains geography-related functions used by other packages, so please refer to them as needed.
33 changes: 33 additions & 0 deletions common/geography_utils/include/geography_utils/height.hpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
// Copyright 2023 TIER IV, Inc.
//
// 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 GEOGRAPHY_UTILS__HEIGHT_HPP_
#define GEOGRAPHY_UTILS__HEIGHT_HPP_

#include <string>

namespace geography_utils
{

typedef double (*HeightConversionFunction)(
const double height, const double latitude, const double longitude);
double convert_wgs84_to_egm2008(const double height, const double latitude, const double longitude);
double convert_egm2008_to_wgs84(const double height, const double latitude, const double longitude);
double convert_height(
const double height, const double latitude, const double longitude,
const std::string & source_vertical_datum, const std::string & target_vertical_datum);

} // namespace geography_utils

#endif // GEOGRAPHY_UTILS__HEIGHT_HPP_
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
// Copyright 2023 TIER IV, Inc.
//
// 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 GEOGRAPHY_UTILS__LANELET2_PROJECTOR_HPP_
#define GEOGRAPHY_UTILS__LANELET2_PROJECTOR_HPP_

#include <tier4_map_msgs/msg/map_projector_info.hpp>

#include <lanelet2_io/Projection.h>

#include <memory>

namespace geography_utils
{
using MapProjectorInfo = tier4_map_msgs::msg::MapProjectorInfo;

std::unique_ptr<lanelet::Projector> get_lanelet2_projector(const MapProjectorInfo & projector_info);

} // namespace geography_utils

#endif // GEOGRAPHY_UTILS__LANELET2_PROJECTOR_HPP_
33 changes: 33 additions & 0 deletions common/geography_utils/include/geography_utils/projection.hpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
// Copyright 2023 TIER IV, Inc.
//
// 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 GEOGRAPHY_UTILS__PROJECTION_HPP_
#define GEOGRAPHY_UTILS__PROJECTION_HPP_

#include <geographic_msgs/msg/geo_point.hpp>
#include <geometry_msgs/msg/point.hpp>
#include <tier4_map_msgs/msg/map_projector_info.hpp>

namespace geography_utils
{
using MapProjectorInfo = tier4_map_msgs::msg::MapProjectorInfo;
using GeoPoint = geographic_msgs::msg::GeoPoint;
using LocalPoint = geometry_msgs::msg::Point;

LocalPoint project_forward(const GeoPoint & geo_point, const MapProjectorInfo & projector_info);
GeoPoint project_reverse(const LocalPoint & local_point, const MapProjectorInfo & projector_info);

} // namespace geography_utils

#endif // GEOGRAPHY_UTILS__PROJECTION_HPP_
27 changes: 27 additions & 0 deletions common/geography_utils/package.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
<?xml version="1.0"?>
<?xml-model href="http://download.ros.org/schema/package_format3.xsd" schematypens="http://www.w3.org/2001/XMLSchema"?>
<package format="3">
<name>geography_utils</name>
<version>0.1.0</version>
<description>The geography_utils package</description>
<maintainer email="[email protected]">Koji Minoda</maintainer>
<license>Apache License 2.0</license>

<buildtool_depend>ament_cmake_auto</buildtool_depend>
<buildtool_depend>autoware_cmake</buildtool_depend>

<depend>geographic_msgs</depend>
<depend>geographiclib</depend>
<depend>geometry_msgs</depend>
<depend>lanelet2_extension</depend>
<depend>lanelet2_io</depend>
<depend>tier4_map_msgs</depend>

<test_depend>ament_cmake_ros</test_depend>
<test_depend>ament_lint_auto</test_depend>
<test_depend>autoware_lint_common</test_depend>

<export>
<build_type>ament_cmake</build_type>
</export>
</package>
63 changes: 63 additions & 0 deletions common/geography_utils/src/height.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
// Copyright 2023 TIER IV, Inc.
//
// 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 <GeographicLib/Geoid.hpp>
#include <geography_utils/height.hpp>

#include <map>
#include <stdexcept>
#include <string>
#include <utility>

namespace geography_utils
{

double convert_wgs84_to_egm2008(const double height, const double latitude, const double longitude)
{
GeographicLib::Geoid egm2008("egm2008-1");
// cSpell: ignore ELLIPSOIDTOGEOID
return egm2008.ConvertHeight(latitude, longitude, height, GeographicLib::Geoid::ELLIPSOIDTOGEOID);
}

double convert_egm2008_to_wgs84(const double height, const double latitude, const double longitude)
{
GeographicLib::Geoid egm2008("egm2008-1");
// cSpell: ignore GEOIDTOELLIPSOID
return egm2008.ConvertHeight(latitude, longitude, height, GeographicLib::Geoid::GEOIDTOELLIPSOID);
}

double convert_height(
const double height, const double latitude, const double longitude,
const std::string & source_vertical_datum, const std::string & target_vertical_datum)
{
if (source_vertical_datum == target_vertical_datum) {
return height;
}
std::map<std::pair<std::string, std::string>, HeightConversionFunction> conversion_map;
conversion_map[{"WGS84", "EGM2008"}] = convert_wgs84_to_egm2008;
conversion_map[{"EGM2008", "WGS84"}] = convert_egm2008_to_wgs84;

auto key = std::make_pair(source_vertical_datum, target_vertical_datum);
if (conversion_map.find(key) != conversion_map.end()) {
return conversion_map[key](height, latitude, longitude);
} else {
std::string error_message =
"Invalid conversion types: " + std::string(source_vertical_datum.c_str()) + " to " +
std::string(target_vertical_datum.c_str());

throw std::invalid_argument(error_message);
}
}

} // namespace geography_utils
Loading
Loading