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

Update dsrc package name #127

Merged
merged 13 commits into from
Feb 19, 2025
Merged

Update dsrc package name #127

merged 13 commits into from
Feb 19, 2025

Conversation

adev4a
Copy link
Contributor

@adev4a adev4a commented Feb 14, 2025

PR Details

This PR updates the package and node name for the v2x ros driver. In order to represent the driver's functionality as being agnostic of DSRC/CV2X the naming in the package and the variables defined for the node are renamed to v2x radio.

Some variables which are being drawn from the j2735 spec are unchanged, for example dsrc_id is still the official id field for messages in the SAE J2735 spec.
The driver has previously been tested successfully with both DSRC and CV2X radios. For this change it was tested on CV2X radios.

A missing change here is that sonarscanner needs to be updated for the renamed repository. Currently the paths were updated so sonar scanner is building the new code, but it is still writing to usdot-fhwa-stol_CARMACohdaDsrcDriver. This change wasn't implemented since a new repo needs to be configured manually. An issue was created to make this change here https://usdot-carma.atlassian.net/browse/ARPA-32

Description

Related GitHub Issue

Related Jira Key

https://usdot-carma.atlassian.net/browse/ARPA-16

Motivation and Context

How Has This Been Tested?

V2X communication tested between two vehicles using CV2X radios.
BSM messages seen to be communicated across the vehicles.

Types of changes

  • Defect fix (non-breaking change that fixes an issue)
  • New feature (non-breaking change that adds functionality)
  • Breaking change (fix or feature that cause existing functionality to change)

Checklist:

  • I have added any new packages to the sonar-scanner.properties file
  • My change requires a change to the documentation.
  • I have updated the documentation accordingly.
  • I have read the CONTRIBUTING document.
  • I have added tests to cover my changes.
  • All new and existing tests passed.

@adev4a adev4a changed the title Arpa 16 update dsrc package name Update dsrc package name Feb 14, 2025
Copy link

@willjohnsonk willjohnsonk left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not to be that guy but a lot of these files could have their Leidos headers updated to the appropriate year now 😄

README.md Outdated

# CARMAPlatform
The primary CARMAPlatform repository can be found [here](https://github.com/usdot-fhwa-stol/carma-platform) and is part of the [USDOT FHWA STOL](https://github.com/usdot-fhwa-stol/)
The driver was initially developed for CARMAPlatform. The primary CARMAPlatform repository can be found [here](https://github.com/usdot-fhwa-stol/carma-platform) and is part of the [USDOT FHWA STOL](https://github.com/usdot-fhwa-stol/)

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggest a space between CARMA and Platform


# Deployment Instructions

The v2x-ros-driver is a ros2 package currently implemented in [ros2-foxy] (<https://docs.ros.org/en/foxy/Installation.html>). It creates a UDP client to listen to input from the v2x radio and broadcast the UPER encoded message to ROS.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fyi this package works in Humble (from source) without changes but I assume the docker implementation is not updated if we are referencing foxy. The CDA 1Tenth vehicles already run it

3. Build the package

```
source /opt/ros/foxy/setup.bash

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we should indicate humble or foxy works here and to source depending on your ROS 2 install

Copy link
Contributor Author

@adev4a adev4a Feb 14, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Since we are about to officially move to the humble version, i was thinking we can just update this text to humble then and remove references to foxy. We probably don't want to advise mixing distro's since the behavior is a little unpredictable

@adev4a
Copy link
Contributor Author

adev4a commented Feb 14, 2025

Not to be that guy but a lot of these files could have their Leidos headers updated to the appropriate year now 😄

Will update the copyrights as a last step so its easier to review the PR without that change set.


This package defines a carma-plaform compatible driver for Cohda OBUs though other models of OBU may work as well. The driver is compatible with DSRC and CV2X radios. The design documents for this driver can be found here <https://usdot-carma.atlassian.net/wiki/spaces/CRMMSG/pages/1319272562/Detailed+Design+-+DSRC+OBU+Driver>

This driver is known to work successfully with the Cohda Wireless MK5 and MK6 OBU. It implements the communication interface allowing UPER-encoded SAE J2735 communication to be exposed to a ROS network using [carma_driver_msgs/msg/ByteArray] (<https://github.com/usdot-fhwa-stol/carma-msgs/blob/develop/carma_driver_msgs/msg/ByteArray.msg>). It has been tested with SAE J2735 2016 but can support later versions as well.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I know there may be some additional steps needed to configure an OBU to work with this driver (or at least with CARMA Platform, since that requires that immediate forwarding be enabled). Not something we need to fix in this PR, but maybe it's something we can work with Will to create under Interoperability Help Desk?

Copy link

Quality Gate Failed Quality Gate failed

Failed conditions
25.9% Coverage on New Code (required ≥ 80%)
C Reliability Rating on New Code (required ≥ A)

See analysis details on SonarQube Cloud

Catch issues before they fail your Quality Gate with our IDE extension SonarQube for IDE

@JonSmet
Copy link
Contributor

JonSmet commented Feb 19, 2025

Merging and bypassing the failing SonarCloud Code Analysis CI step; fix will be captured in https://usdot-carma.atlassian.net/browse/ARPA-32 as mentioned in the PR description

@JonSmet JonSmet merged commit 24d9f5b into develop Feb 19, 2025
4 of 5 checks passed
@JonSmet JonSmet deleted the arpa-16-update-dsrc-package-name branch February 19, 2025 19:38
JonSmet pushed a commit to usdot-fhwa-stol/carma-messenger that referenced this pull request Feb 20, 2025
<!-- Thanks for the contribution, this is awesome. -->

# PR Details
Updates the deployment for the v2x-ros-driver, following the changes to
the package and node names in
usdot-fhwa-stol/v2x-ros-driver#127.

## Description

<!--- Describe your changes in detail -->

## Related GitHub Issue

<!--- This project only accepts pull requests related to open GitHub
issues or Jira Keys -->
<!--- If suggesting a new feature or change, please discuss it in an
issue first -->
<!--- If fixing a bug, there should be an issue describing it with steps
to reproduce -->
<!--- Please DO NOT name partially fixed issues, instead open an issue
specific to this fix -->
<!--- Please link to the issue here: -->

## Related Jira Key

<!-- e.g. CAR-123 -->
https://usdot-carma.atlassian.net/browse/ARPA-16

## Motivation and Context

<!--- Why is this change required? What problem does it solve? -->

## How Has This Been Tested?

<!--- Please describe in detail how you tested your changes. -->
<!--- Include details of your testing environment, and the tests you ran
to -->
<!--- see how your change affects other areas of the code, etc. -->

## Types of changes

<!--- What types of changes does your code introduce? Put an `x` in all
the boxes that apply: -->

- [x] Defect fix (non-breaking change that fixes an issue)
- [ ] New feature (non-breaking change that adds functionality)
- [ ] Breaking change (fix or feature that cause existing functionality
to change)

## Checklist:

<!--- Go over all the following points, and put an `x` in all the boxes
that apply. -->
<!--- If you're unsure about any of these, don't hesitate to ask. We're
here to help! -->

- [ ] I have added any new packages to the sonar-scanner.properties file
- [ ] My change requires a change to the documentation.
- [ ] I have updated the documentation accordingly.
- [x] I have read the
[**CONTRIBUTING**](https://github.com/usdot-fhwa-stol/carma-platform/blob/develop/Contributing.md)
document.
- [ ] I have added tests to cover my changes.
- [ ] All new and existing tests passed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants