ROSCon DE 2023
23. – 24. November 2023
Karlsruhe, Deutschland
Integration der ETSI ITS Nachrichten für V2X-Kommunikation in ROS

Karlsruhe, 24. November 2023
Guido Küppers

Institut für Kraftfahrzeuge (ika), RWTH Aachen University
23gku0004

Folie Nr. 1

24.11.2023© ika·2023· All rights
reserved© ika 2023
All rights
reserved

Institut für Kraftfahrzeuge – FB-FI Forschungsinfrastruktur
Key Facts

23gku0004§Seit 2016 imEinsatz§

Konzipiert fürdie unskalierte
Darstellung vonlateralen
Fahrmanövern

§360° Projektion§> 1g laterale
Beschleunigung

Folie Nr. 2Urban

RuralHighway

46 Road Side Units

11 Road Side Units

11 Road Side Units

24.11.2023© ika 2023 · All rights reserved

Einführung und Motivation© Institut für Kraftfahrzeuge (ika) - RWTH Aachen University / Lutz Ecksteinà Das Mobilitätssystem der Zukunft ist geprägt durch die Kommunikation verschiedenster Entitäten
23gku0004

Folie Nr. 3

24.11.2023© ika 2023 · All rights reserved

Einführung und Motivation§ETSI-ITS – Standardisierung der externen Kommunikation für Intelligenten Transportsystemen (ITS)§CAM: Cooperative Awareness Message§§

DENM: Decentralized Environmental Notification Message§§

Signalzustand und Signalzustandsprognosen für Lichtsignalen

CPM: Collective Perception Message§

23gku0004

Straßen- und Fahrbahntopologie eines Infrastrukturbereichs, z. B. einer Kreuzung

SPATEM: Signal Phase And Timing Extended Message§§

Position und Informationen über relevante Ereignisse wie Unfälle, Baustellen, Verkehrsstaus, Fahrzeugpannen uvm.

MAPEM: Map Extended Message§§

Position und Zustandsinformationen von Verkehrsteilnehmern

Informationen über wahrgenommene Objekte in der lokalen Umgebung

Folie Nr. 4

24.11.2023© ika 2023 · All rights reserved

Einführung und Motivation
802.11p

ETSI ITSV2XNachricht

V2X-HardwareETSI ITS V2X
Payload?

ROS-Nachricht§

WLAN 802.11p: Standard zur V2X-Kommunikation§

Mittels dedizierter Hardware können Nachrichten empfangen und beispielsweise über UDP für verschiedene
Anwendungen bereitgestellt werden§§

Payload in Form ASN.1 codierter Bit-Strings

In Forschung und Entwicklung von Intelligenten Transportsystemen wird häufig ROS verwendet® Ziele:§ETSI ITS Nachrichten in ROS verfügbar machen§

Automatisierte Generierung von ROS-Nachrichten und entsprechenden Konvertierungsfunktionen

23gku0004

Folie Nr. 5

24.11.2023© ika 2023 · All rights reserved

Konzept – etsi_its_messages

CAM
ASN.1
CAM-PDU-Descriptions {itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) en (302637) cam (2) version (1) }...
BEGIN IMPORTS
ItsPduHeader, CauseCode, ReferencePosition, ... FROM ITS-Container {...};
CAM ::= SEQUENCE {header ItsPduHeader,cam CoopAwareness}
CoopAwareness ::= SEQUENCE {generationDeltaTime GenerationDeltaTime,
camParameters CamParameters}...
Source: etsi.org

23gku0004

Folie Nr. 6

24.11.2023© ika 2023 · All rights reserved

Konzept – etsi_its_messages

CODEGENCAM
ASN.1

CodeGen Tool

asn1c

asn1ToRosMsg.py

ROS Package

etsi_its_cam_coding

etsi_its_cam_msgs#include "etsi_its_cam_coding/ItsPduHeader.h„#include "etsi_its_cam_coding/CoopAwareness.h„#include <etsi_its_cam_coding/constr_SEQUENCE.h># cam.msg/* CAM */typedef struct CAM {ItsPduHeader_t header;
CoopAwareness_t cam;

CoopAwareness cam

ItsPduHeader header/* Context for parsing across buffer boundaries */asn_struct_ctx_t _asn_ctx;} CAM_t;

23gku0004

Folie Nr. 7

24.11.2023© ika 2023 · All rights reserved

Konzept – etsi_its_messages

CODEGENCAM
ASN.1

CodeGen Tool

asn1c

asn1ToConversionHeaders.py

asn1ToRosMsg.py

ROS Package

etsi_its_cam_coding

etsi_its_cam_conversion
includeetsi_its_cam_msgs
includevoid toRos_CAM(const CAM_t& in, cam_msgs::CAM& out) {toRos_ItsPduHeader(in.header, out.header);toRos_CoopAwareness(in.cam, out.cam);}void toStruct_CAM(const cam_msgs::CAM& in, CAM_t& out) {toStruct_ItsPduHeader(in.header, out.header);toStruct_CoopAwareness(in.cam, out.cam);}

23gku0004

Folie Nr. 8

24.11.2023© ika 2023 · All rights reserved

Konzept – etsi_its_messages

CODEGENCAM
ASN.1

CodeGen Tool

asn1c

asn1ToConversionHeaders.py

asn1ToRosMsg.py

ROS Package
ROS NodeROS Msg

etsi_its_cam_coding

etsi_its_cam_conversion
includeetsi_its_cam_msgs
includeincludeincludeetsi_its_rviz_plugins

RViz

802.11pV2X-Hardware

udp_msgs/
msg/UdpPacket

etsi_its_conversion

etsi_its_cam_msgs/
msg/CAM...

RUNTIME
23gku0004

Folie Nr. 9

24.11.2023© ika 2023 · All rights reserved

Nutzung in ROS-Anwendungen// ASN.1 Definition// unit: 0,01 m/s
SpeedValue ::= INTEGER {standstill (0),outOfRange (16382),
unavailable (16383)} (0..16383)#include <etsi_its_cam_msgs/msg/cam.hpp>

void callback(const etsi_its_cam_msgs::msg::CAM& cam) {double speed =cam.cam.cam_parameters.high_frequency_container.basic_vehicle_container_high_frequency.speed.speed_value.value * 1e-2;
cam.cam.cam_parameters.high_frequency_container.basic_vehicle_container_high_frequency.speed.speed_value.value = 16383;}#include <etsi_its_cam_msgs/msg/cam.hpp>#include <etsi_its_msgs/cam_access.hpp>
void callback(const etsi_its_cam_msgs::msg::CAM& cam) {double speed = etsi_its_cam_msgs::access::getSpeed(cam);
etsi_its_cam_msgs::access::setSpeed(cam, etsi_its_cam_msgs::msg::SpeedValue::UNAVAILABLE);}

Die Zugriffsfunktionen ermöglichen:à Einfachen Zugriff auf verschachtelte ROS-Nachrichten
à Leichte Integration und Umwandlung in andere Nachrichtenformate
23gku0004

Folie Nr. 10

24.11.2023© ika 2023 · All rights reserved

Veröffentlichung§etsi_its_messages§

ROS / ROS 2 packages via apt installierbar (zeitnah)sudo apt install ros-$ROS_DISTRO-etsi-its-messages§

Zusätzlich: verfügbar in containerisierter Form (docker-ros)
docker pull ghcr.io/ika-rwth-aachen/etsi_its_messages

Status

23gku0004

ETSI ITS NachrichtVersion

✅

CAM

1.4.1

✅

DENM

1.3.1

🔜

CPM-

🔜

MAPEM-🔜

SPATEM-

Open-source auf GitHub:
https://github.com/ika-rwth-aachen/etsi_its_messages
Folie Nr. 11

24.11.2023© ika 2023 · All rights reserved

Visualisierung der CAMs eines serienmäßigen VW ID.3

Open-source auf GitHub:
https://github.com/ika-rwth-aachen/etsi_its_messages
23gku0004

Folie Nr. 12

24.11.2023© ika 2023 · All rights reserved

Förderung
etsi_its_messages wird im Rahmen der folgenden Projekte entwickelt und gefördert:

AIthena - https://www.aithena.eu/§ Gefördert im Rahmen des European Union’s Horizon Europe Research and Innovation
Programme unter Grant Agreement No. 101076754
AUTOtech.agil - http://www.ika.rwth-aachen.de/autotechagil§ Gefördert durch das Bundesministerium für Bildung und Forschung (BMBF) unter
Förderkennzeichen 01IS22088A
6GEM - https://www.6gem.de/§ Gefördert durch das Bundesministerium für Bildung und Forschung (BMBF) unter
Förderkennzeichen 16KISK036K

23gku0004

Folie Nr. 13

24.11.2023© ika 2023 · All rights reservedFragen & Diskussion

CODEGENCAM
ASN.1

CodeGen Tool

asn1c

asn1ToConversionHeaders.py

asn1ToRosMsg.py

ROS Package
ROS NodeROS Msg

etsi_its_cam_coding

etsi_its_cam_conversion
includeetsi_its_cam_msgs
includeincludeincludeetsi_its_rviz_plugins

RViz802.11p

V2X-Hardware

udp_msgs/msg/UdpPacketetsi_its_conversion

etsi_its_cam_msgs/msg/CAM...

RUNTIME
23gku0004

Folie Nr. 14

24.11.2023© ika 2023 · All rights reserved