usdot-fhwa-stol / carma-platform

CARMA Platform is built on robot operating system (ROS) and utilizes open source software (OSS) that enables Cooperative Driving Automation (CDA) features to allow Automated Driving Systems to interact and cooperate with infrastructure and other vehicles through communication. Doxygen Source Code Documentation :
https://usdot-fhwa-stol.github.io/documentation/carma-platform/
403 stars 124 forks source link

Handle only ROS1 SSC in drivers and remove camera related logics #2444

Closed MishkaMN closed 2 months ago

MishkaMN commented 2 months ago

PR Details

Description

Where it removes ros1_camera_drivers as they are not required anymore. This is because live vehicles don't have working camera setup and if we do support it in the future, they will most likely be in ROS2. That change triggered the overhaul of drivers_manager which was only meant for ROS1 drivers. Since only SSC is in ROS1, we decided to limit the usage of that logic to only ssc and limit extensibility so that future development is forced into ROS2 drivers if we decide to add.

NOTE: used clang-tidy for the auto format, so please turn on "hide whitespace change" for easier review Supporting PR: https://github.com/usdot-fhwa-stol/carma-config/pull/387

Related Issue

https://github.com/usdot-fhwa-stol/carma-platform/issues/2079

Related Jira Key

https://usdot-carma.atlassian.net/browse/CAR-6075

Motivation and Context

Migration to ROS2 foxy

How Has This Been Tested?

Local VM tested and verified that the all drivers ready status publishes to /system_alert image Following config gets printed from the controller node: image

Types of changes

Checklist:

sonarcloud[bot] commented 2 months ago

Quality Gate Failed Quality Gate failed

Failed conditions
43.04% Line Coverage on New Code (required ≥ 80%)

See analysis details on SonarCloud

MishkaMN commented 2 months ago

Actually decided not to increase the unit test level because all of the uncovered lines come from the node logic which is mainly creating subscriptions and publishing etc. I can include FRIEND_TEST but I don't think it's a good design.

MishkaMN commented 2 months ago

Docker build in github action is failing at the moment but it is due to msg name change in carma-msgs that is making mock_drivers to fail, but that package is currently being removed in another PR. image The subsystem_controllers package is building okay locally: image

john-chrosniak commented 2 months ago

Docker build in github action is failing at the moment but it is due to msg name change in carma-msgs that is making mock_drivers to fail, but that package is currently being removed in another PR.

I had fixes for this in #2442 but decided to close it since these packages are currently being removed. If desired, we could merge this PR to fix the build error instead of waiting for them to be removed.

MishkaMN commented 2 months ago

I had fixes for this in #2442 but decided to close it since these packages are currently being removed. If desired, we could merge this PR to fix the build error instead of waiting for them to be removed.

I am going to go ahead and merge this one since we verified it builds fine locally. However, please feel free to put up a PR for the change you suggested if you have time. Totally optional.