From c9913ed2be2a9cfa3804272ee085a72ae0469824 Mon Sep 17 00:00:00 2001 From: Misheel Bayartsengel Date: Wed, 8 Nov 2023 12:09:42 -0500 Subject: [PATCH] clean --- Dockerfile | 8 +-- docker/checkout.bash | 61 +++++++++++++++++++ .../config/drivers_controller_config.yaml | 6 +- ...ironment_perception_controller_config.yaml | 6 +- .../config/guidance_controller_config.yaml | 6 +- .../localization_controller_config.yaml | 4 +- .../config/v2x_controller_config.yaml | 6 +- 7 files changed, 79 insertions(+), 18 deletions(-) diff --git a/Dockerfile b/Dockerfile index 2ae7be40cc..5d73cbe514 100644 --- a/Dockerfile +++ b/Dockerfile @@ -33,9 +33,9 @@ # Stage 1 - Acquire the CARMA source as well as any extra packages # ///////////////////////////////////////////////////////////////////////////// -FROM 2630f4c62a70 AS base-image +FROM usdotfhwastoldev/autoware.ai:develop AS base-image -FROM 2630f4c62a70 AS source-code +FROM base-image AS source-code RUN mkdir ~/src COPY --chown=carma . /home/carma/src/carma-platform/ @@ -46,7 +46,7 @@ RUN ~/src/carma-platform/docker/checkout.bash # ///////////////////////////////////////////////////////////////////////////// -FROM 2630f4c62a70 AS install +FROM base-image AS install ARG ROS1_PACKAGES="" ENV ROS1_PACKAGES=${ROS1_PACKAGES} ARG ROS2_PACKAGES="" @@ -63,7 +63,7 @@ RUN ~/carma_ws/src/carma-platform/docker/install.sh # ///////////////////////////////////////////////////////////////////////////// -FROM 2630f4c62a70 +FROM base-image ARG BUILD_DATE="NULL" ARG VCS_REF="NULL" diff --git a/docker/checkout.bash b/docker/checkout.bash index c97e31c691..643882ba43 100755 --- a/docker/checkout.bash +++ b/docker/checkout.bash @@ -37,3 +37,64 @@ done cd ${dir}/src + +# clone carma repos + +if [[ "$BRANCH" = "develop" ]]; then + git clone --depth=1 https://github.com/usdot-fhwa-stol/carma-msgs.git --branch $BRANCH + git clone --depth=1 https://github.com/usdot-fhwa-stol/carma-utils.git --branch $BRANCH + git clone --depth=1 https://github.com/usdot-fhwa-stol/carma-messenger.git --branch $BRANCH +else + git clone --depth=1 https://github.com/usdot-fhwa-stol/carma-msgs.git --branch develop + git clone --depth=1 https://github.com/usdot-fhwa-stol/carma-utils.git --branch develop + git clone --depth=1 https://github.com/usdot-fhwa-stol/carma-messenger.git --branch develop +fi + +# Get humble branch of message filters which supports template Node arguments (foxy version supports rclcpp::Node only) +git clone https://github.com/usdot-fhwa-stol/carma-message-filters.git --branch develop + +git clone https://github.com/usdot-fhwa-stol/multiple_object_tracking --branch develop + +# add astuff messages +# NOTE: The ibeo_msgs package is ignored because on build the cmake files in that package run a sed command +# which can make them incompatible with a new ros version after a source switch +git clone https://github.com/astuff/astuff_sensor_msgs + +cd astuff_sensor_msgs +git checkout 41d5ef0c33fb27eb3c9ba808b51332bcce186a83 + +# Disable ibeo_msgs +cd ibeo_msgs +echo "" > COLCON_IGNORE +cd ../astuff_sensor_msgs +echo "" > COLCON_IGNORE + +cd ../ + +#rosbridge_suite is a ROS meta-package including all the rosbridge packages. +# NOTE: clone -b flag is used instead of --branch to avoid hook rewriting it +git clone -b ros2 https://github.com/usdot-fhwa-stol/rosbridge_suite + +# The feature/integrate-carma branch of rosbag2 includes improvements that were not possible to backport into the foxy branch +# of rosbag2. These rosbag2 packages will replace the originally built foxy rosbag2 packages. +# NOTE: Additional information regarding the rosbag2 improvements on this branch are included in the forked repository's README. +git clone -b carma-develop https://github.com/usdot-fhwa-stol/rosbag2 + +# Novatel OEM7 Driver +# NOTE: This is required since otherwise this image will not contain the novatel_oem7_msgs package, and a missing ROS 2 message package +# can cause ROS 2 rosbag logging to fail in Foxy. +# Related GitHub discussion for fix that was not backported to Foxy: https://github.com/ros2/rosbag2/pull/858 +sudo git clone https://github.com/novatel/novatel_oem7_driver.git ${dir}/src/novatel_oem7_driver -b ros2-dev +# Checkout verified commit +cd ${dir}/src/novatel_oem7_driver +sudo git checkout 3055e220bb9715b59c3ef53ab0aba05a495d9d5 + +cd ${dir}/src + +# git clone --branch master --depth 1 https://github.com/nitroshare/qhttpengine.git +git clone -b master --depth 1 https://github.com/etherealjoy/qhttpengine.git +git clone -b develop --depth 1 https://github.com/usdot-fhwa-OPS/V2X-Hub.git +cd V2X-Hub +git config core.sparsecheckout true +git sparse-checkout init +git sparse-checkout set ext/ccserver diff --git a/subsystem_controllers/config/drivers_controller_config.yaml b/subsystem_controllers/config/drivers_controller_config.yaml index 865322cc21..185d29c9c0 100644 --- a/subsystem_controllers/config/drivers_controller_config.yaml +++ b/subsystem_controllers/config/drivers_controller_config.yaml @@ -2,11 +2,11 @@ ros__parameters: # Long: Timeout for each service to be detected as available in milliseconds # Units: milliseconds - service_timeout_ms : 2000 + service_timeout_ms : 200 # Long: Timeout for each service call in milliseconds # Units: milliseconds - call_timeout_ms : 10000 + call_timeout_ms : 1000 # String: The namespace for nodes in this subsystem. All nodes under this namespace will have their lifecycle's managed by this controller subsystem_namespace: /hardware_interface @@ -35,4 +35,4 @@ startup_duration: 30 # Double: The timeout threshold for essential drivers in ms - required_driver_timeout: 3000.0 + required_driver_timeout: 3000.0 \ No newline at end of file diff --git a/subsystem_controllers/config/environment_perception_controller_config.yaml b/subsystem_controllers/config/environment_perception_controller_config.yaml index 275fc309a5..2cbc6f877e 100644 --- a/subsystem_controllers/config/environment_perception_controller_config.yaml +++ b/subsystem_controllers/config/environment_perception_controller_config.yaml @@ -2,11 +2,11 @@ ros__parameters: # Long: Timeout for each service to be detected as available in milliseconds # Units: milliseconds - service_timeout_ms : 2000 + service_timeout_ms : 200 # Long: Timeout for each service call in milliseconds # Units: milliseconds - call_timeout_ms : 15000 + call_timeout_ms : 1500 # String: The namespace for nodes in this subsystem. All nodes under this namespace will have their lifecycle's managed by this controller subsystem_namespace: /environment @@ -22,4 +22,4 @@ - /hardware_interface/velodyne_lidar_driver_wrapper_node # Boolean: If this flag is true then all nodes under subsystem_namespace are treated as required in addition to any nodes in required_subsystem_nodes - full_subsystem_required: true + full_subsystem_required: true \ No newline at end of file diff --git a/subsystem_controllers/config/guidance_controller_config.yaml b/subsystem_controllers/config/guidance_controller_config.yaml index c74c14ba6b..b132b7b407 100644 --- a/subsystem_controllers/config/guidance_controller_config.yaml +++ b/subsystem_controllers/config/guidance_controller_config.yaml @@ -2,11 +2,11 @@ ros__parameters: # Long: Timeout for each service to be detected as available in milliseconds # Units: milliseconds - service_timeout_ms : 2000 + service_timeout_ms : 200 # Long: Timeout for each service call in milliseconds # Units: milliseconds - call_timeout_ms : 10000 + call_timeout_ms : 1000 # String: The namespace for nodes in this subsystem. All nodes under this namespace will have their lifecycle's managed by this controller subsystem_namespace: /guidance @@ -65,4 +65,4 @@ - /guidance/plugins/cooperative_lanechange - /guidance/plugins/platooning_tactical_plugin_node - /guidance/plugins/yield_plugin - - /guidance/plugins/pure_pursuit_wrapper + - /guidance/plugins/pure_pursuit_wrapper \ No newline at end of file diff --git a/subsystem_controllers/config/localization_controller_config.yaml b/subsystem_controllers/config/localization_controller_config.yaml index 4e11753c2f..a95a313dfc 100644 --- a/subsystem_controllers/config/localization_controller_config.yaml +++ b/subsystem_controllers/config/localization_controller_config.yaml @@ -2,11 +2,11 @@ ros__parameters: # Long: Timeout for each service to be detected as available in milliseconds # Units: milliseconds - service_timeout_ms : 2000 + service_timeout_ms : 200 # Long: Timeout for each service call in milliseconds # Units: milliseconds - call_timeout_ms : 10000 + call_timeout_ms : 1000 # String: The namespace for nodes in this subsystem. All nodes under this namespace will have their lifecycle's managed by this controller subsystem_namespace: /localization diff --git a/subsystem_controllers/config/v2x_controller_config.yaml b/subsystem_controllers/config/v2x_controller_config.yaml index 3dc539f71f..adf433b081 100644 --- a/subsystem_controllers/config/v2x_controller_config.yaml +++ b/subsystem_controllers/config/v2x_controller_config.yaml @@ -2,11 +2,11 @@ ros__parameters: # Long: Timeout for each service to be detected as available in milliseconds # Units: milliseconds - service_timeout_ms : 2000 + service_timeout_ms : 200 # Long: Timeout for each service call in milliseconds # Units: milliseconds - call_timeout_ms : 10000 + call_timeout_ms : 1000 # String: The namespace for nodes in this subsystem. All nodes under this namespace will have their lifecycle's managed by this controller subsystem_namespace: /message @@ -23,4 +23,4 @@ - /hardware_interface/dsrc_driver_node # Boolean: If this flag is true then all nodes under subsystem_namespace are treated as required in addition to any nodes in required_subsystem_nodes - full_subsystem_required: true + full_subsystem_required: true \ No newline at end of file