Skip to content

Commit

Permalink
Merge pull request #1561 from usdot-fhwa-stol/release/elise
Browse files Browse the repository at this point in the history
Carma System 3.10.0 Release
  • Loading branch information
msmcconnell authored Dec 15, 2021
2 parents a0d1cc4 + e4a1f57 commit 45bd7d9
Show file tree
Hide file tree
Showing 97 changed files with 369 additions and 290 deletions.
7 changes: 4 additions & 3 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,11 +28,12 @@ jobs:
# Pull docker image from docker hub
# XTERM used for better catkin_make output
docker:
- image: usdotfhwastol/autoware.ai:carma-system-3.9.0
- image: usdotfhwastol/autoware.ai:carma-system-3.10.0
user: carma
environment:
TERM: xterm
INIT_ENV: /home/carma/.base-image/init-env.sh
resource_class: large
# Set working directory
working_directory: "/opt/carma/"
# Pull code and execute tests
Expand All @@ -59,13 +60,13 @@ jobs:
name: Build CARMA
command: |
source ${INIT_ENV}
export ROS_PARALLEL_JOBS='-j2 -l2' # Try to reduce memory consumption on build
export ROS_PARALLEL_JOBS='-j3 -l3' # Try to reduce memory consumption on build
build-wrapper-linux-x86-64 --out-dir /opt/carma/bw-output bash make_with_coverage.bash -m -e /opt/carma/ -o ./coverage_reports/gcov
- run:
name: Run C++ Tests
command: |
source ${INIT_ENV}
export ROS_PARALLEL_JOBS='-j2 -l2' # Try to reduce memory consumption on build
export ROS_PARALLEL_JOBS='-j3 -l3' # Try to reduce memory consumption on build
bash make_with_coverage.bash -t -e /opt/carma/ -o ./coverage_reports/gcov
# Run SonarCloud analysis
Expand Down
3 changes: 2 additions & 1 deletion .sonarqube/sonar-scanner.properties
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ sonar.scanner.force-deprecated-java-version-grace-period=true
sonar.projectKey=usdot-fhwa-stol_CARMAPlatform
sonar.organization=usdot-fhwa-stol
sonar.cfamily.build-wrapper-output=/opt/carma/bw-output
sonar.cfamily.threads=4
sonar.host.url=https://sonarcloud.io
sonar.sources=src/main
sonar.tests=src/test
Expand Down Expand Up @@ -182,4 +183,4 @@ basic_autonomy.sonar.tests = test
mobilitypath_visualizer.sonar.tests = test
wz_strategic_plugin.sonar.tests = test
sci_strategic_plugin.sonar.tests = test
stop_controlled_intersection_tactical_plugin.sonar.tests = test
stop_controlled_intersection_tactical_plugin.sonar.tests = test
3 changes: 1 addition & 2 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@
# Stage 1 - Acquire the CARMA source as well as any extra packages
# /////////////////////////////////////////////////////////////////////////////

FROM usdotfhwastol/autoware.ai:carma-system-3.9.0 AS base-image
FROM usdotfhwastol/autoware.ai:carma-system-3.10.0 AS base-image

FROM base-image AS source-code

Expand All @@ -52,7 +52,6 @@ FROM base-image AS install
RUN mkdir ~/carma_ws
COPY --from=source-code --chown=carma /home/carma/src /home/carma/carma_ws/src


RUN ~/carma_ws/src/carma-platform/docker/install.sh

# /////////////////////////////////////////////////////////////////////////////
Expand Down
2 changes: 1 addition & 1 deletion arbitrator/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
cmake_minimum_required(VERSION 2.8.3)
project(arbitrator)

## Compile as C++11, supported in ROS Kinetic and newer
## Compile as C++14, supported in ROS Noetic and newer
add_compile_options(-std=c++14)
set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall")
set( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall")
Expand Down
6 changes: 4 additions & 2 deletions basic_autonomy/src/basic_autonomy.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -222,8 +222,10 @@ namespace basic_autonomy
break;
}

// If there are no more points to add but we haven't reached the ending downtrack then get the following lanelet and keep iterating
if (i == points_and_target_speeds.size() - 1)
// If there are no more points to add but we haven't reached the ending downtrack then
// construct an extrapolated straight line from the final point and keep adding to this line until the downtrack is met
// Since this is purely needed to allow for a spline fit edge case, it should have minimal impact on the actual steering behavior of the vehicle
if (i == points_and_target_speeds.size() - 1) // dist_accumulator < ending_downtrack is guaranteed by earlier conditional
{

ROS_DEBUG_STREAM("Extending trajectory using buffer beyond end of target lanelet");
Expand Down
4 changes: 2 additions & 2 deletions basic_autonomy/test/test_waypoint_generation.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -22,13 +22,13 @@
#include <math.h>
#include <tf/LinearMath/Vector3.h>
#include <carma_wm/WMTestLibForGuidance.h>
#include <lanelet2_extension/io/autoware_osm_parser.h>
#include <lanelet2_routing/RoutingGraph.h>
#include <lanelet2_io/Io.h>
#include <lanelet2_io/io_handlers/Factory.h>
#include <lanelet2_io/io_handlers/Writer.h>
#include <lanelet2_extension/projection/local_frame_projector.h>
#include <lanelet2_core/geometry/LineString.h>
#include <lanelet2_extension/projection/local_frame_projector.h>
#include <lanelet2_extension/io/autoware_osm_parser.h>
#include <string>
#include <sstream>
#include <ros/package.h>
Expand Down
2 changes: 1 addition & 1 deletion bsm_generator/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
cmake_minimum_required(VERSION 2.8.3)
project(bsm_generator)

## Compile as C++11, supported in ROS Kinetic and newer
## Compile as C++14, supported in ROS Noetic and newer
add_compile_options(-std=c++14)
set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall")
set( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall")
Expand Down
66 changes: 37 additions & 29 deletions carma-platform.repos
Original file line number Diff line number Diff line change
@@ -1,77 +1,85 @@
repositories:
carma/src/avt_vimba_camera:
src/astuff_sensor_msgs:
type: git
url: https://github.com/astuff/astuff_sensor_msgs.git
version: melodic
src/autoware.ai:
type: git
url: [email protected]:usdot-fhwa-stol/autoware.ai.git
version: develop
src/avt_vimba_camera:
type: git
url: [email protected]:usdot-fhwa-stol/avt_vimba_camera.git
version: develop
carma/src/carma-base:
src/carma-base:
type: git
url: [email protected]:usdot-fhwa-stol/carma-base.git
version: develop
carma/src/carma-cohda-dsrc-driver:
src/carma-cohda-dsrc-driver:
type: git
url: [email protected]:usdot-fhwa-stol/carma-cohda-dsrc-driver.git
version: develop
carma/src/carma-config:
src/carma-config:
type: git
url: [email protected]:usdot-fhwa-stol/carma-config.git
version: develop
carma/src/carma-delphi-esr-driver:
src/carma-delphi-esr-driver:
type: git
url: [email protected]:usdot-fhwa-stol/carma-delphi-esr-driver.git
version: develop
carma/src/carma-delphi-srr2-driver:
src/carma-delphi-srr2-driver:
type: git
url: [email protected]:usdot-fhwa-stol/carma-delphi-srr2-driver.git
version: develop
carma/src/carma-utils:
src/carma-garmin-lidar-lite-v3-driver-wrapper:
type: git
url: [email protected]:usdot-fhwa-stol/carma-utils.git
url: [email protected]:usdot-fhwa-stol/carma-garmin-lidar-lite-v3-driver-wrapper.git
version: develop
carma/src/carma-msgs:
src/carma-messenger:
type: git
url: [email protected]:usdot-fhwa-stol/carma-msgs.git
url: [email protected]:usdot-fhwa-stol/carma-messenger.git
version: develop
carma/src/novatel_gps_driver:
src/carma-msgs:
type: git
url: [email protected]:usdot-fhwa-stol/novatel_gps_driver.git
url: [email protected]:usdot-fhwa-stol/carma-msgs.git
version: develop
carma/src/carma-platform:
src/carma-platform:
type: git
url: [email protected]:usdot-fhwa-stol/carma-platform.git
version: develop
carma/src/carma-ssc-interface-wrapper:
src/carma-ssc-interface-wrapper:
type: git
url: [email protected]:usdot-fhwa-stol/carma-ssc-interface-wrapper.git
version: develop
carma/src/carma-vehicle-model-framework:
src/carma-utils:
type: git
url: [email protected]:usdot-fhwa-stol/carma-utils.git
version: develop
src/carma-vehicle-model-framework:
type: git
url: [email protected]:usdot-fhwa-stol/carma-vehicle-model-framework.git
version: develop
carma/src/carma-velodyne-lidar-driver:
src/carma-velodyne-lidar-driver:
type: git
url: [email protected]:usdot-fhwa-stol/carma-velodyne-lidar-driver.git
version: develop
carma/src/carma-web-ui:
src/carma-web-ui:
type: git
url: [email protected]:usdot-fhwa-stol/carma-web-ui.git
version: develop
carma/src/carma-garmin-lidar-lite-v3-driver-wrapper:
type: git
url: [email protected]:usdot-fhwa-stol/carma-garmin-lidar-lite-v3-driver-wrapper.git
version: develop
carma/src/carma-lightbar-driver:
src/carma-lightbar-driver:
type: git
url: [email protected]:usdot-fhwa-stol/carma-lightbar-driver.git
version: develop
carma/src/carma-messenger:
src/kvaser_interface:
type: git
url: [email protected]:usdot-fhwa-stol/carma-messenger.git
url: [email protected]:astuff/kvaser_interface.git
version: master
src/novatel_gps_driver:
type: git
url: [email protected]:usdot-fhwa-stol/novatel_gps_driver.git
version: develop
carma/src/opendrive2lanelet:
src/opendrive2lanelet:
type: git
url: [email protected]:usdot-fhwa-stol/opendrive2lanelet.git
version: develop
autoware.ai:
type: git
url: [email protected]:usdot-fhwa-stol/autoware.ai.git
version: carma-develop
1 change: 0 additions & 1 deletion carma/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,6 @@ find_package(catkin REQUIRED
j2735_msgs
autoware_msgs
derived_object_msgs
radar_msgs
)

catkin_package()
Expand Down
132 changes: 65 additions & 67 deletions carma/launch/environment.launch
Original file line number Diff line number Diff line change
Expand Up @@ -131,30 +131,30 @@
<remap to="$(optenv CARMA_ENV_NS)/detection/lidar_detector/objects_markers" from="/detection/lidar_detector/objects_markers"/>

<include file="$(find lidar_euclidean_cluster_detect)/launch/lidar_euclidean_cluster_detect.launch">
<arg name="points_node" value="ray_ground_filter/points_no_ground" />

<arg name="remove_ground" value="false" />
<arg name="downsample_cloud" value="false" /> <!-- Apply VoxelGrid Filter with the value given by "leaf_size"-->
<arg name="leaf_size" value="0.1" /><!-- Voxel Grid Filter leaf size-->
<arg name="cluster_size_min" value="20" /><!-- Minimum number of points to consider a cluster as valid-->
<arg name="cluster_size_max" value="100000" /><!-- Maximum number of points to allow inside a cluster-->
<arg name="sync" value="false" />
<arg name="use_diffnormals" value="false" />
<arg name="pose_estimation" value="true" />
<arg name="calibration_params_file" value="$(arg vehicle_calibration_dir)/lidar_euclidean_cluster_detect/calibration.yaml"/> <!-- clip_max_height,clip_min_height and output_frame-->
<arg name="keep_lanes" value="false" />
<arg name="keep_lane_left_distance" value="5" />
<arg name="keep_lane_right_distance" value="5" />
<arg name="cluster_merge_threshold" value="1.5" />
<arg name="clustering_distance" value="0.75" />
<arg name="use_vector_map" value="false" />
<arg name="wayarea_gridmap_layer" value="wayarea" />
<arg name="remove_points_upto" value="0.0" />
<arg name="use_gpu" value="$(arg cuda)" />
<arg name="use_multiple_thres" value="false"/>
<arg name="clustering_ranges" value="[15,30,45,60]"/><!-- Distances to segment pointcloud -->
<arg name="clustering_distances"
value="[0.5,1.1,1.6,2.1,2.6]"/><!-- Euclidean Clustering threshold distance for each segment -->
<arg name="points_node" value="points_no_ground" />

<arg name="remove_ground" value="false" />
<arg name="downsample_cloud" value="false" /> <!-- Apply VoxelGrid Filter with the value given by "leaf_size"-->
<arg name="leaf_size" value="0.1" /><!-- Voxel Grid Filter leaf size-->
<arg name="cluster_size_min" value="20" /><!-- Minimum number of points to consider a cluster as valid-->
<arg name="cluster_size_max" value="100000" /><!-- Maximum number of points to allow inside a cluster-->
<arg name="sync" value="false" />
<arg name="use_diffnormals" value="false" />
<arg name="pose_estimation" value="true" />
<arg name="calibration_params_file" value="$(arg vehicle_calibration_dir)/lidar_euclidean_cluster_detect/calibration.yaml"/> <!-- clip_max_height,clip_min_height and output_frame-->
<arg name="keep_lanes" value="false" />
<arg name="keep_lane_left_distance" value="5" />
<arg name="keep_lane_right_distance" value="5" />
<arg name="cluster_merge_threshold" value="1.5" />
<arg name="clustering_distance" value="0.75" />
<arg name="use_vector_map" value="false" />
<arg name="wayarea_gridmap_layer" value="wayarea" />
<arg name="remove_points_upto" value="0.0" />
<arg name="use_gpu" value="$(arg cuda)" />
<arg name="use_multiple_thres" value="false"/>
<arg name="clustering_ranges" value="[15,30,45,60]"/><!-- Distances to segment pointcloud -->
<arg name="clustering_distances"
value="[0.5,1.1,1.6,2.1,2.6]"/><!-- Euclidean Clustering threshold distance for each segment -->

</include>
</group>
Expand All @@ -167,67 +167,65 @@
<remap to="detection/fusion_tools/objects" from="/detection/fusion_tools/objects"/>

<include file="$(find range_vision_fusion)/launch/range_vision_fusion.launch">
<arg name="detected_objects_range" value="detection/lidar_detector/objects"/>
<arg name="detected_objects_vision" value="detection/image_detector/objects"/>
<arg name="camera_info_src" value="$(optenv CARMA_INTR_NS)/camera/camera_info"/>
<arg name="min_car_dimensions" value="[3,2,2]"/>
<arg name="min_person_dimensions" value="[1,2,1]"/>
<arg name="min_truck_dimensions" value="[4,2,2]"/>
<arg name="sync_topics" value="false"/>
<arg name="overlap_threshold" value="0.6"/>
<arg name="use_vector_map" value="false"/>
<arg name="namespace" value="detection/fusion_tools"/>
<arg name="detected_objects_range" value="detection/lidar_detector/objects"/>
<arg name="detected_objects_vision" value="detection/image_detector/objects"/>
<arg name="camera_info_src" value="$(optenv CARMA_INTR_NS)/camera/camera_info"/>
<arg name="min_car_dimensions" value="[3,2,2]"/>
<arg name="min_person_dimensions" value="[1,2,1]"/>
<arg name="min_truck_dimensions" value="[4,2,2]"/>
<arg name="sync_topics" value="false"/>
<arg name="overlap_threshold" value="0.6"/>
<arg name="use_vector_map" value="false"/>
<arg name="namespace" value="detection/fusion_tools"/>

</include>
</group>

<!-- imm_ukf_pda_track -->
<group>
<remap to="detected_objects" from="/detection/objects"/>

<include file="$(find imm_ukf_pda_track)/launch/imm_ukf_pda_track_lanelet2.launch">
<arg name="namespace" value="detection/object_tracker"/>
<arg name="tracker_input_topic" value="detection/fusion_tools/objects" />
<arg name="tracker_output_topic" value="detection/object_tracker/objects" />

<arg name="tracking_frame" value="map" />
<arg name="gating_threshold" value="9.22" />
<arg name="gate_probability" value="0.99" />
<arg name="detection_probability" value="0.9" />
<arg name="life_time_threshold" value="8" />
<arg name="static_velocity_threshold" value="0.5" />
<arg name="static_num_history_threshold" value="3" />
<arg name="prevent_explosion_threshold" value="1000" />
<arg name="merge_distance_threshold" value="0.5"/>
<arg name="use_sukf" value="false" />

<!-- Vectormap -->
<arg name="use_map_info" value="false"/>
<arg name="lane_direction_chi_threshold" value="2.71" />
<arg name="nearest_lane_distance_threshold" value="1.0" />
<arg name="map_frame" value="map" />
<arg name="namespace" value="detection"/>
<arg name="tracker_input_topic" value="fusion_tools/objects" />
<arg name="tracker_output_topic" value="object_tracker/objects" />

<arg name="tracking_frame" value="map" />
<arg name="gating_threshold" value="9.22" />
<arg name="gate_probability" value="0.99" />
<arg name="detection_probability" value="0.9" />
<arg name="life_time_threshold" value="8" />
<arg name="static_velocity_threshold" value="0.5" />
<arg name="static_num_history_threshold" value="3" />
<arg name="prevent_explosion_threshold" value="1000" />
<arg name="merge_distance_threshold" value="0.5"/>
<arg name="use_sukf" value="false" />

<!-- Vectormap -->
<arg name="use_map_info" value="false"/>
<arg name="lane_direction_chi_threshold" value="2.71" />
<arg name="nearest_lane_distance_threshold" value="1.0" />
<arg name="map_frame" value="map" />

</include>
</group>

<!-- naive_motion_predict -->
<!-- todo: remove CARMA_ENV_NS namespace without the node generating extra unwanted topics-->
<group>
<remap to="$(optenv CARMA_ENV_NS)/prediction/motion_predictor/objects" from="/prediction/motion_predictor/objects"/>
<remap to="$(optenv CARMA_ENV_NS)/prediction/motion_predictor/path_markers" from="/prediction/motion_predictor/path_markers"/>
<remap to="$(optenv CARMA_ENV_NS)/prediction/motion_predictor/objects_markers" from="/prediction/motion_predictor/objects_markers"/>
<include file="$(find naive_motion_predict)/launch/naive_motion_predict.launch">
<arg name="interval_sec" value="0.1"/>
<arg name="num_prediction" value="10"/>
<arg name="sensor_height_calibration_params_file" value="$(arg vehicle_calibration_dir)/naive_motion_predict/calibration.yaml"/>
<arg name="filter_out_close_object_threshold" value="1.5"/>
<arg name="input_topic" value="detected_objects"/>
</include>
<remap to="$(optenv CARMA_ENV_NS)/prediction/motion_predictor/objects" from="/prediction/motion_predictor/objects"/>
<remap to="$(optenv CARMA_ENV_NS)/prediction/motion_predictor/path_markers" from="/prediction/motion_predictor/path_markers"/>
<remap to="$(optenv CARMA_ENV_NS)/prediction/motion_predictor/objects_markers" from="/prediction/motion_predictor/objects_markers"/>
<include file="$(find naive_motion_predict)/launch/naive_motion_predict.launch">
<arg name="interval_sec" value="0.1"/>
<arg name="num_prediction" value="10"/>
<arg name="sensor_height_calibration_params_file" value="$(arg vehicle_calibration_dir)/naive_motion_predict/calibration.yaml"/>
<arg name="filter_out_close_object_threshold" value="1.5"/>
<arg name="input_topic" value="detection/object_tracker/objects"/>
</include>
</group>

<!-- Ray Ground Filter -->
<group>
<remap from="/points_raw" to="$(optenv CARMA_INTR_NS)/lidar/points_raw"/>
<remap from="points_raw" to="$(optenv CARMA_INTR_NS)/lidar/points_raw"/>
<include file="$(find points_preprocessor)/launch/ray_ground_filter.launch">
<arg name="no_ground_point_topic" value="points_no_ground" />
<arg name="ground_point_topic" value="points_ground" />
Expand Down
Loading

0 comments on commit 45bd7d9

Please sign in to comment.