From 6f4f47859a1de13e3dc591d82c269f72873e6779 Mon Sep 17 00:00:00 2001 From: "Takagi, Isamu" <43976882+isamu-takagi@users.noreply.github.com> Date: Thu, 11 Jul 2024 15:14:49 +0900 Subject: [PATCH] feat(autoware_v2x_msgs): add virtual gate messages (#77) Signed-off-by: Takagi, Isamu <isamu.takagi@tier4.jp> --- autoware_v2x_msgs/CMakeLists.txt | 22 ++ autoware_v2x_msgs/README.md | 27 +++ .../doc/virtual-gate-nodes.drawio.svg | 218 ++++++++++++++++++ .../msg/VirtualGateAreaCommand.msg | 12 + .../msg/VirtualGateAreaStatus.msg | 14 ++ autoware_v2x_msgs/msg/VirtualGateCommand.msg | 2 + autoware_v2x_msgs/msg/VirtualGateStatus.msg | 1 + autoware_v2x_msgs/package.xml | 29 +++ 8 files changed, 325 insertions(+) create mode 100644 autoware_v2x_msgs/CMakeLists.txt create mode 100644 autoware_v2x_msgs/README.md create mode 100644 autoware_v2x_msgs/doc/virtual-gate-nodes.drawio.svg create mode 100644 autoware_v2x_msgs/msg/VirtualGateAreaCommand.msg create mode 100644 autoware_v2x_msgs/msg/VirtualGateAreaStatus.msg create mode 100644 autoware_v2x_msgs/msg/VirtualGateCommand.msg create mode 100644 autoware_v2x_msgs/msg/VirtualGateStatus.msg create mode 100644 autoware_v2x_msgs/package.xml diff --git a/autoware_v2x_msgs/CMakeLists.txt b/autoware_v2x_msgs/CMakeLists.txt new file mode 100644 index 0000000..ef156d0 --- /dev/null +++ b/autoware_v2x_msgs/CMakeLists.txt @@ -0,0 +1,22 @@ +cmake_minimum_required(VERSION 3.14) +project(autoware_v2x_msgs) + +find_package(ament_cmake_auto REQUIRED) +ament_auto_find_build_dependencies() + +rosidl_generate_interfaces(${PROJECT_NAME} + "msg/VirtualGateAreaCommand.msg" + "msg/VirtualGateAreaStatus.msg" + "msg/VirtualGateCommand.msg" + "msg/VirtualGateStatus.msg" + DEPENDENCIES + builtin_interfaces + geometry_msgs +) + +if(BUILD_TESTING) + find_package(ament_lint_auto REQUIRED) + ament_lint_auto_find_test_dependencies() +endif() + +ament_auto_package() diff --git a/autoware_v2x_msgs/README.md b/autoware_v2x_msgs/README.md new file mode 100644 index 0000000..c3b6cce --- /dev/null +++ b/autoware_v2x_msgs/README.md @@ -0,0 +1,27 @@ +# autoware_v2x_msgs + +## Virtual gate messages + +### Overview + +This message represents the status of the virtual gate for passing through the area managed by the facility. +The virtual gate treats area entry permission as a shared resource and controls vehicles by acquiring and releasing locks. +Each facility may support different protocols, but Autoware V2X component converts each protocol and this message. +This allows Autoware to handle facilities with different protocols with a unified message. + +![virtual-gate-nodes](./doc/virtual-gate-nodes.drawio.svg) + +### Sequence + +Because there is a time lag before commands are reflected, the vehicle must wait until it receives the status of the same sequence as the command it sent. +Until the vehicle receives the status, treat it as if it were unlocked. + +### Gates + +Specify the entrance and exit gate IDs. This is used to check if vehicles can pass simultaneously when multiple routes are possible within an area. +If omitted, it is treated as a lock for the entire area. + +### Vehicle ID + +This message does not include the vehicle ID, so add it in the V2X component if required by the communication protocol. +And if facilities publish multiple vehicle statuses, filter to only status for own vehicle. diff --git a/autoware_v2x_msgs/doc/virtual-gate-nodes.drawio.svg b/autoware_v2x_msgs/doc/virtual-gate-nodes.drawio.svg new file mode 100644 index 0000000..5da8bcd --- /dev/null +++ b/autoware_v2x_msgs/doc/virtual-gate-nodes.drawio.svg @@ -0,0 +1,218 @@ +<svg host="65bd71144e" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="921px" height="161px" viewBox="-0.5 -0.5 921 161" content="<mxfile><diagram id="webK_mMjbjblUMH9l2im" name="Page-1">1VnLcpswFP0azySLdAyyMV46r3bRznQmi6ZLBRRQRyAqRGz36ysZyTyEjTH4kZWly5WQzrn3cCWPwEO0+spgEv6gPiIje+yvRuBxZNv2eD4WP9Kyzi0zVxkChv3cZBWGF/wPKaN2y7CP0oojp5RwnFSNHo1j5PGKDTJGl1W3d0qqb01ggAzDiweJaf2FfR4qq+XMiwffEA5C9WrXnuUPIqid1U7SEPp0WTKBpxF4YJTyvBWtHhCR4Glc8nHPO55uF8ZQzA8ZABy1Dr7Wm0O+2KvqUsZDGtAYkqfCeh/yiIiHlmgymsU+kpONRS+fS06wcznKlNKMecprohiELEAasC0UIoYQjRBna+HCEIEcf1Rnh4rMYOunhi4Yg+uSQ0JxzNPSzD+lQTiouLRmipS1jrYadt38RSNfge6VtlKYNnw0c6Nw+YAkUztOCIxjHAcj2yECqfs3JlqBbHk0SmgsUa7TWWVoGWKOXhK4wX4psrNKp3ojYhyt9lNokqMGTKqg6O6ylCc6+MNSiljOeDedJUj3IuYYiH3Yq40ODIKOxAULFVgQHMTCxmkyFGatoIGTgTY9QgGqsBU+36mEZAPWH8T5Wkk3zDhtCrSuSgEapMIaN0N7Wq2YgFruO/u1osW/t1bMPg+Jrslhzuu5OQTzbnrf4t+bQ9dUL8x4BqVPADnKhSyCsW+STYiofdBZBN6uiZXboPBOg1hNBtCq+ecJc12rluP8ImG+rTUPlKoW/95hroHZE+cOjGTcxm+p/Ek55Fl6VTFvNZU1pwp6yzL23jumBaaML+RRSBg8AtMUe9r8jIl2E/Cw9Wu581u+84soGlT/caUWkffWurfC/LXUzodNVa8YJDt6zHF5pj995TzLdaJvohmZsT2mqiioV1/5stSgGr8dc8Qsyi5N+fUwDiyTcTBIFWgyXs97t0Z5vgaD8tbQMSYaLnZ0QpT0dcEQFBbLPDfepFmSiGBKJeyMcupROdfitiX+Ti+5bvuZ6GSK21CKKQjtMoQleJy/Gd2YKfMRuxMoUjYCi80c7Oburmy/3QCkR3w+JnTdex4q5gYVPhMJzRpi+Z2yqwNv6rRXy01H+yGwA2alZWI3bBAbFNxfHwWNxdvJOLB2SQk4t5RcARWGlDhnlBIArq6oml1PVdV0L3OiOnpuVaNgelgtZMzj1C9krMOqsyOKKuAasdP15qF71BxHZNMl6TBEdr15mNYvPVsu2Fr8e988gP7XR5ckcZgzTm8SW66PWvz7k2j+LSYo4rKoufDHbTJpLfXchk/btpzu8G0T3eI/4hzE4p928PQf</diagram></mxfile>"> + <defs/> + <g> + <path d="M 120 60 L 130 60 L 153.63 60" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/> + <path d="M 158.88 60 L 151.88 63.5 L 153.63 60 L 151.88 56.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/> + <rect x="0" y="0" width="120" height="160" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/> + <g transform="translate(-0.5 -0.5)"> + <switch> + <foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"> + <div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 80px; margin-left: 1px;"> + <div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"> + <div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"> + planning + <br/> + component + </div> + </div> + </div> + </foreignObject> + <text x="60" y="84" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle"> + planning... + </text> + </switch> + </g> + <rect x="360" y="0" width="320" height="160" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/> + <g transform="translate(-0.5 -0.5)"> + <switch> + <foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"> + <div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe center; width: 318px; height: 1px; padding-top: 7px; margin-left: 361px;"> + <div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"> + <div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"> + v2x component + </div> + </div> + </div> + </foreignObject> + <text x="520" y="19" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle"> + v2x component + </text> + </switch> + </g> + <path d="M 400 120 L 390 120 L 326.37 120" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/> + <path d="M 321.12 120 L 328.12 116.5 L 326.37 120 L 328.12 123.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/> + <path d="M 320 60 L 350 60 L 393.63 60" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/> + <path d="M 398.88 60 L 391.88 63.5 L 393.63 60 L 391.88 56.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/> + <ellipse cx="240" cy="60" rx="80" ry="20" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/> + <g transform="translate(-0.5 -0.5)"> + <switch> + <foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"> + <div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 158px; height: 1px; padding-top: 60px; margin-left: 161px;"> + <div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"> + <div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"> + virtual gate command + </div> + </div> + </div> + </foreignObject> + <text x="240" y="64" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle"> + virtual gate command + </text> + </switch> + </g> + <path d="M 160 120 L 126.37 120" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/> + <path d="M 121.12 120 L 128.12 116.5 L 126.37 120 L 128.12 123.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/> + <ellipse cx="240" cy="120" rx="80" ry="20" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/> + <g transform="translate(-0.5 -0.5)"> + <switch> + <foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"> + <div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 158px; height: 1px; padding-top: 120px; margin-left: 161px;"> + <div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"> + <div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"> + virtual gate status + </div> + </div> + </div> + </foreignObject> + <text x="240" y="124" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle"> + virtual gate status + </text> + </switch> + </g> + <path d="M 753.82 21.54 L 646.18 48.46" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/> + <path d="M 758.92 20.27 L 752.97 25.36 L 753.82 21.54 L 751.28 18.57 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/> + <path d="M 641.08 49.73 L 647.03 44.64 L 646.18 48.46 L 648.72 51.43 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/> + <path d="M 753.72 138.95 L 646.28 121.05" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/> + <path d="M 758.9 139.82 L 751.42 142.12 L 753.72 138.95 L 752.57 135.21 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/> + <path d="M 641.1 120.18 L 648.58 117.88 L 646.28 121.05 L 647.43 124.79 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/> + <rect x="760" y="0" width="160" height="40" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/> + <g transform="translate(-0.5 -0.5)"> + <switch> + <foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"> + <div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 158px; height: 1px; padding-top: 20px; margin-left: 761px;"> + <div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"> + <div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"> + Area 1 + <br/> + (supports protocol A) + </div> + </div> + </div> + </foreignObject> + <text x="840" y="24" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle"> + Area 1... + </text> + </switch> + </g> + <rect x="760" y="60" width="160" height="40" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/> + <g transform="translate(-0.5 -0.5)"> + <switch> + <foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"> + <div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 158px; height: 1px; padding-top: 80px; margin-left: 761px;"> + <div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"> + <div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"> + Area 2 + <br style="border-color: var(--border-color);"/> + (supports protocol A) + </div> + </div> + </div> + </foreignObject> + <text x="840" y="84" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle"> + Area 2... + </text> + </switch> + </g> + <rect x="520" y="40" width="120" height="40" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/> + <g transform="translate(-0.5 -0.5)"> + <switch> + <foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"> + <div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 60px; margin-left: 521px;"> + <div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"> + <div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"> + driver + <br/> + (for protocol A) + </div> + </div> + </div> + </foreignObject> + <text x="580" y="64" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle"> + driver... + </text> + </switch> + </g> + <rect x="520" y="100" width="120" height="40" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/> + <g transform="translate(-0.5 -0.5)"> + <switch> + <foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"> + <div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 120px; margin-left: 521px;"> + <div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"> + <div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"> + driver + <br style="border-color: var(--border-color);"/> + (for protocol B) + </div> + </div> + </div> + </foreignObject> + <text x="580" y="124" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle"> + driver... + </text> + </switch> + </g> + <rect x="760" y="120" width="160" height="40" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/> + <g transform="translate(-0.5 -0.5)"> + <switch> + <foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"> + <div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 158px; height: 1px; padding-top: 140px; margin-left: 761px;"> + <div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"> + <div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"> + Area 3 + <br style="border-color: var(--border-color);"/> + (supports protocol B) + </div> + </div> + </div> + </foreignObject> + <text x="840" y="144" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle"> + Area 3... + </text> + </switch> + </g> + <path d="M 753.65 79.47 L 646.35 70.53" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/> + <path d="M 758.89 79.91 L 751.62 82.81 L 753.65 79.47 L 752.2 75.84 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/> + <path d="M 641.11 70.09 L 648.38 67.19 L 646.35 70.53 L 647.8 74.16 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/> + <path d="M 486.37 60 L 490 60 L 513.63 60" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/> + <path d="M 481.12 60 L 488.12 56.5 L 486.37 60 L 488.12 63.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/> + <path d="M 518.88 60 L 511.88 63.5 L 513.63 60 L 511.88 56.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/> + <path d="M 486.37 120 L 490 120 L 513.63 120" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/> + <path d="M 481.12 120 L 488.12 116.5 L 486.37 120 L 488.12 123.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/> + <path d="M 518.88 120 L 511.88 123.5 L 513.63 120 L 511.88 116.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/> + <rect x="400" y="40" width="80" height="100" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/> + <g transform="translate(-0.5 -0.5)"> + <switch> + <foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"> + <div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 78px; height: 1px; padding-top: 90px; margin-left: 401px;"> + <div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"> + <div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"> + router + </div> + </div> + </div> + </foreignObject> + <text x="440" y="94" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle"> + router + </text> + </switch> + </g> + </g> + <switch> + <g requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"/> + <a transform="translate(0,-5)" xlink:href="https://www.diagrams.net/doc/faq/svg-export-text-problems" target="_blank"> + <text text-anchor="middle" font-size="10px" x="50%" y="100%"> + Text is not SVG - cannot display + </text> + </a> + </switch> +</svg> \ No newline at end of file diff --git a/autoware_v2x_msgs/msg/VirtualGateAreaCommand.msg b/autoware_v2x_msgs/msg/VirtualGateAreaCommand.msg new file mode 100644 index 0000000..7b16144 --- /dev/null +++ b/autoware_v2x_msgs/msg/VirtualGateAreaCommand.msg @@ -0,0 +1,12 @@ +# constants for command +uint16 ACQUIRE = 1 +uint16 RELEASE = 2 + +# variables for lock +uint16 command +uint16 sequence_id # Used to check correspondence with status messages. +string area_id # Target area ID. +string[] gate_ids # Entry and exit gate ID. + +# variables for scheduling +builtin_interfaces/Time[<=1] expected_time_arrival diff --git a/autoware_v2x_msgs/msg/VirtualGateAreaStatus.msg b/autoware_v2x_msgs/msg/VirtualGateAreaStatus.msg new file mode 100644 index 0000000..4a75a1c --- /dev/null +++ b/autoware_v2x_msgs/msg/VirtualGateAreaStatus.msg @@ -0,0 +1,14 @@ +# constants for status +uint16 RESERVED = 1 +uint16 ACQUIRED = 2 +uint16 RELEASED = 3 + +# variables for lock +builtin_interfaces/Time stamp +uint16 status +uint16 sequence_id # Used to check correspondence with commands. +string area_id # Target area ID. +string[] gate_ids # Entry and exit gate ID. + +# variables for scheduling +builtin_interfaces/Time[<=1] expected_time_arrival diff --git a/autoware_v2x_msgs/msg/VirtualGateCommand.msg b/autoware_v2x_msgs/msg/VirtualGateCommand.msg new file mode 100644 index 0000000..e497847 --- /dev/null +++ b/autoware_v2x_msgs/msg/VirtualGateCommand.msg @@ -0,0 +1,2 @@ +builtin_interfaces/Time stamp +autoware_v2x_msgs/VirtualGateAreaCommand[] areas diff --git a/autoware_v2x_msgs/msg/VirtualGateStatus.msg b/autoware_v2x_msgs/msg/VirtualGateStatus.msg new file mode 100644 index 0000000..e20cf37 --- /dev/null +++ b/autoware_v2x_msgs/msg/VirtualGateStatus.msg @@ -0,0 +1 @@ +autoware_v2x_msgs/VirtualGateAreaStatus[] areas diff --git a/autoware_v2x_msgs/package.xml b/autoware_v2x_msgs/package.xml new file mode 100644 index 0000000..db58bf7 --- /dev/null +++ b/autoware_v2x_msgs/package.xml @@ -0,0 +1,29 @@ +<?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>autoware_v2x_msgs</name> + <version>1.0.0</version> + <description>Autoware v2x messages package.</description> + <maintainer email="isamu.takagi@tier4.jp">Takagi, Isamu</maintainer> + <maintainer email="ryohsuke.mitsudome@tier4.jp">Ryohsuke Mitsudome</maintainer> + <maintainer email="yukihiro.saito@tier4.jp">Yukihiro Saito</maintainer> + <license>Apache License 2.0</license> + + <buildtool_depend>ament_cmake_auto</buildtool_depend> + + <build_depend>rosidl_default_generators</build_depend> + + <depend>builtin_interfaces</depend> + <depend>geometry_msgs</depend> + + <exec_depend>rosidl_default_runtime</exec_depend> + + <test_depend>ament_lint_auto</test_depend> + <test_depend>ament_lint_common</test_depend> + + <member_of_group>rosidl_interface_packages</member_of_group> + + <export> + <build_type>ament_cmake</build_type> + </export> +</package>