Skip to content
This repository has been archived by the owner on Apr 11, 2024. It is now read-only.

Commit

Permalink
Merge pull request CoFra-CaLa#1 from nfiniity/foxy
Browse files Browse the repository at this point in the history
ROS2 integration
  • Loading branch information
Delooz authored Jan 11, 2023
2 parents 49d7fe8 + f8735c0 commit c56895b
Show file tree
Hide file tree
Showing 42 changed files with 313 additions and 198 deletions.
29 changes: 29 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@

name: Build
on:
push:
branches: [ "foxy" ]
pull_request:
branches: [ "foxy" ]
permissions:
contents: read

jobs:
build_and_test:
runs-on: ubuntu-20.04
steps:
- name: Setup ROS environment
uses: ros-tooling/setup-ros@0.4.1
with:
use-ros2-testing: true
install-connext: false
required-ros-distributions: foxy
- name: Checkout repository
uses: actions/checkout@v3
with:
ref: foxy
path: dev_ws/src/etsi_its_msgs
- name: Build
run: |
source /opt/ros/foxy/setup.bash
colcon build
51 changes: 51 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
devel/
logs/
build/
bin/
lib/
msg_gen/
srv_gen/
msg/*Action.msg
msg/*ActionFeedback.msg
msg/*ActionGoal.msg
msg/*ActionResult.msg
msg/*Feedback.msg
msg/*Goal.msg
msg/*Result.msg
msg/_*.py
build_isolated/
devel_isolated/

# Generated by dynamic reconfigure
*.cfgc
/cfg/cpp/
/cfg/*.py

# Ignore generated docs
*.dox
*.wikidoc

# eclipse stuff
.project
.cproject

# qcreator stuff
CMakeLists.txt.user

srv/_*.py
*.pcd
*.pyc
qtcreator-*
*.user

/planning/cfg
/planning/docs
/planning/src

*~

# Emacs
.#*

# Catkin custom files
CATKIN_IGNORE
5 changes: 5 additions & 0 deletions AUTHORS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
## Contributors

- Raphael Riebl, Technische Hochschule Ingolstadt
- Quentin Delooz, Technische Hochschule Ingolstadt
- Apostolos Georgiadis, nfiniity GmbH
163 changes: 90 additions & 73 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,81 +1,98 @@
cmake_minimum_required(VERSION 2.8.3)
cmake_minimum_required(VERSION 3.5)
project(etsi_its_msgs)

find_package(catkin REQUIRED COMPONENTS message_generation std_msgs)

add_message_files(
FILES
AccelerationControl.msg
ActionID.msg
Altitude.msg
BasicVehicleContainerHighFrequency.msg
BasicVehicleContainerLowFrequency.msg
CAM.msg
CauseCode.msg
CPM.msg
Curvature.msg
CurvatureCalculationMode.msg
DeltaReferencePosition.msg
DENM.msg
DriveDirection.msg
DynamicStatus.msg
EventPoint.msg
ExteriorLights.msg
Heading.msg
InformationQuality.msg
ItsPduHeader.msg
LateralAcceleration.msg
ListOfPerceivedObjects.msg
LocationContainer.msg
LongitudinalAcceleration.msg
ManagementContainer.msg
MatchedPosition.msg
ObjectClassDescription.msg
ObjectDimension.msg
ObjectDistanceWithConfidence.msg
ObjectRefPoint.msg
OriginatingVehicleContainer.msg
PathDeltaTime.msg
PathHistory.msg
PathPoint.msg
PerceivedObject.msg
PositionConfidenceEllipse.msg
ReferencePosition.msg
RelevanceDistance.msg
RelevanceTrafficDirection.msg
SensorInformation.msg
SensorInformationContainer.msg
SituationContainer.msg
Speed.msg
SpeedExtended.msg
StationType.msg
VehicleLength.msg
VehicleRole.msg
VehicleSensor.msg
VehicleSensorProperty.msg
VehicleWidth.msg
WGS84Angle.msg
YawRate.msg
GenericLane.msg
IntersectionGeometry.msg
Intersections.msg
Connection.msg
NodeSetXY.msg
SPATEM.msg
IntersectionState.msg
MovementState.msg
MovementEvent.msg
MAPEM.msg
)
# Default to C++14
if(NOT CMAKE_CXX_STANDARD)
set(CMAKE_CXX_STANDARD 14)
endif()

if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang")
add_compile_options(-Wall -Wextra -Wpedantic)
endif()

generate_messages(DEPENDENCIES std_msgs)
# find dependencies
find_package(ament_cmake REQUIRED)
find_package(std_msgs REQUIRED)
find_package(builtin_interfaces REQUIRED)
find_package(rosidl_default_generators REQUIRED)

catkin_package(
INCLUDE_DIRS include
CATKIN_DEPENDS std_msgs message_runtime
set(msg_files
"msg/AccelerationControl.msg"
"msg/ActionID.msg"
"msg/Altitude.msg"
"msg/BasicVehicleContainerHighFrequency.msg"
"msg/BasicVehicleContainerLowFrequency.msg"
"msg/CAM.msg"
"msg/CauseCode.msg"
"msg/CPM.msg"
"msg/Curvature.msg"
"msg/CurvatureCalculationMode.msg"
"msg/DeltaReferencePosition.msg"
"msg/DENM.msg"
"msg/DriveDirection.msg"
"msg/DynamicStatus.msg"
"msg/EventPoint.msg"
"msg/ExteriorLights.msg"
"msg/Heading.msg"
"msg/InformationQuality.msg"
"msg/ItsPduHeader.msg"
"msg/LateralAcceleration.msg"
"msg/ListOfPerceivedObjects.msg"
"msg/LocationContainer.msg"
"msg/LongitudinalAcceleration.msg"
"msg/ManagementContainer.msg"
"msg/MatchedPosition.msg"
"msg/ObjectClassDescription.msg"
"msg/ObjectDimension.msg"
"msg/ObjectDistanceWithConfidence.msg"
"msg/ObjectRefPoint.msg"
"msg/OriginatingVehicleContainer.msg"
"msg/PathDeltaTime.msg"
"msg/PathHistory.msg"
"msg/PathPoint.msg"
"msg/PerceivedObject.msg"
"msg/PositionConfidenceEllipse.msg"
"msg/ReferencePosition.msg"
"msg/RelevanceDistance.msg"
"msg/RelevanceTrafficDirection.msg"
"msg/SensorInformation.msg"
"msg/SensorInformationContainer.msg"
"msg/SituationContainer.msg"
"msg/Speed.msg"
"msg/SpeedExtended.msg"
"msg/StationType.msg"
"msg/VehicleLength.msg"
"msg/VehicleRole.msg"
"msg/VehicleSensor.msg"
"msg/VehicleSensorProperty.msg"
"msg/VehicleWidth.msg"
"msg/WGS84Angle.msg"
"msg/YawRate.msg"
"msg/GenericLane.msg"
"msg/IntersectionGeometry.msg"
"msg/Intersections.msg"
"msg/Connection.msg"
"msg/NodeSetXY.msg"
"msg/SPATEM.msg"
"msg/IntersectionState.msg"
"msg/MovementState.msg"
"msg/MovementEvent.msg"
"msg/MAPEM.msg"
)

install(DIRECTORY include/${PROJECT_NAME}/
DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION}
FILES_MATCHING PATTERN "*.h"
rosidl_generate_interfaces(${PROJECT_NAME}
${msg_files}
DEPENDENCIES std_msgs builtin_interfaces
)

if(BUILD_TESTING)
find_package(ament_lint_auto REQUIRED)
set(ament_cmake_copyright_FOUND TRUE)
set(ament_cmake_cpplint_FOUND TRUE)
ament_lint_auto_find_test_dependencies()
endif()

ament_export_dependencies(rosidl_default_runtime)

ament_package()
29 changes: 29 additions & 0 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
BSD 3-Clause License

Copyright (c) 2023, The ros_etsi_its_msgs Authors
All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:

1. Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.

2. Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.

3. Neither the name of the copyright holder nor the names of its
contributors may be used to endorse or promote products derived from
this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
12 changes: 12 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# ETSI ITS Messages [![Build](https://github.com/nfiniity/ros_etsi_its_msgs/actions/workflows/ci.yml/badge.svg)](https://github.com/nfiniity/ros_etsi_its_msgs/actions/workflows/ci.yml)

ROS equivalents of ETSI ITS [(European Telecommunications Standards Institute Intelligent Transport Systems)](https://www.etsi.org/) messages which are a set of standardized messages that are used for communication between vehicles and other components of the transportation infrastructure. They are developed by the ETSI Technical Committee on Intelligent Transport Systems (TC ITS) and are based on the international standard ISO/IEC 21451 for Intelligent Transport Systems (ITS).

## Authors

See the [AUTHORS](./AUTHORS.md) file for a full list of contributors.

## Licence

This project is licensed under BSD-3. See [LICENSE](./LICENSE) file for details.

2 changes: 0 additions & 2 deletions include/etsi_its_msgs/plugin/Altitude.h

This file was deleted.

2 changes: 0 additions & 2 deletions include/etsi_its_msgs/plugin/Curvature.h

This file was deleted.

2 changes: 0 additions & 2 deletions include/etsi_its_msgs/plugin/CurvatureCalculationMode.h

This file was deleted.

5 changes: 0 additions & 5 deletions include/etsi_its_msgs/plugin/DeltaReferencePosition.h

This file was deleted.

2 changes: 0 additions & 2 deletions include/etsi_its_msgs/plugin/DriveDirection.h

This file was deleted.

2 changes: 0 additions & 2 deletions include/etsi_its_msgs/plugin/Heading.h

This file was deleted.

2 changes: 0 additions & 2 deletions include/etsi_its_msgs/plugin/InformationQuality.h

This file was deleted.

2 changes: 0 additions & 2 deletions include/etsi_its_msgs/plugin/LocationContainer.h

This file was deleted.

2 changes: 0 additions & 2 deletions include/etsi_its_msgs/plugin/LongitudinalAcceleration.h

This file was deleted.

6 changes: 0 additions & 6 deletions include/etsi_its_msgs/plugin/ManagementContainer.h

This file was deleted.

2 changes: 0 additions & 2 deletions include/etsi_its_msgs/plugin/RelevanceDistance.h

This file was deleted.

2 changes: 0 additions & 2 deletions include/etsi_its_msgs/plugin/RelevanceTrafficDirection.h

This file was deleted.

2 changes: 0 additions & 2 deletions include/etsi_its_msgs/plugin/Speed.h

This file was deleted.

2 changes: 0 additions & 2 deletions include/etsi_its_msgs/plugin/VehicleLength.h

This file was deleted.

2 changes: 0 additions & 2 deletions include/etsi_its_msgs/plugin/VehicleWidth.h

This file was deleted.

2 changes: 0 additions & 2 deletions include/etsi_its_msgs/plugin/YawRate.h

This file was deleted.

2 changes: 1 addition & 1 deletion msg/CAM.msg
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Header header
std_msgs/Header header
ItsPduHeader its_header
uint16 generation_delta_time # milliseconds since 2004 modulo 2^16

Expand Down
12 changes: 6 additions & 6 deletions msg/CPM.msg
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Header header
std_msgs/Header header
ItsPduHeader its_header

#CpmParameters container
Expand All @@ -12,14 +12,14 @@ ReferencePosition reference_position

## StationDataContainer
# TODO extend to OriginatingRSUContainer
OriginatingVehicleContainer originatingVehicleContainer
OriginatingVehicleContainer originating_vehicle_container

bool has_sensor_information_container
SensorInformationContainer sensorInformationContainer
SensorInformationContainer sensor_information_container

bool has_list_of_perceived_object
ListOfPerceivedObjects listOfPerceivedObjects
ListOfPerceivedObjects list_of_perceived_objects

int32 numberOfPerceivedObjects
int32 number_of_perceived_objects

# TODO: include FreeSpaceAddendumContainer
# TODO: include FreeSpaceAddendumContainer
Loading

0 comments on commit c56895b

Please sign in to comment.