git commit -m "first commit"

This commit is contained in:
2026-05-28 10:29:58 +07:00
commit 167c52aeb6
2048 changed files with 740251 additions and 0 deletions

View File

@@ -0,0 +1,136 @@
#!/usr/bin/env python
from dynamic_reconfigure.parameter_generator_catkin import *
gen = ParameterGenerator()
# For integers and doubles:
# Name Type Reconfiguration level
# Description
# Default Min Max
##################################################################
###################### Foreground detection ######################
gen.add("alpha_slow", double_t, 0,
"Foreground detection: Learning rate of the slow filter",
0.3, 0.0, 1.0)
gen.add("alpha_fast", double_t, 0,
"Foreground detection: Learning rate of the fast filter",
0.85, 0.0, 1.0)
gen.add("beta", double_t, 0,
"Foreground detection: Weighting coefficient between a pixels value and the mean of its nearest neighbors",
0.85, 0.0, 1.0)
gen.add("min_sep_between_slow_and_fast_filter", int_t, 0,
"Foreground detection: Minimal difference between the fast and the slow filter to recognize a obstacle as dynamic",
80, 0, 255)
gen.add("min_occupancy_probability", int_t, 0,
"Foreground detection: Minimal value of the fast filter to recognize a obstacle as dynamic",
180, 0, 255)
gen.add("max_occupancy_neighbors", int_t, 0,
"Foreground detection: Maximal mean value of the nearest neighbors of a pixel in the slow filter",
80, 0, 255)
gen.add("morph_size", int_t, 0,
"Foreground detection: Size of the structuring element for the closing operation",
1, 0, 10)
gen.add("publish_static_obstacles", bool_t, 0,
"Include static obstacles as single-point polygons",
True)
############################################################
###################### Blob detection ######################
# These parameters are commented out, because the input image for the blob detection is already binary -> irrelevant
#gen.add("threshold_step", double_t, 0,
# "Blob detection: Distance between neighboring thresholds",
# 256.0, 0.0, 256.0)
#
#gen.add("min_threshold", double_t, 0,
# "Blob detection: Convert the source image to binary images by applying several thresholds, starting at min_threshold",
# 1, 0, 255)
#
#gen.add("max_threshold", double_t, 0,
# "Blob detection: Convert the source image to binary images by applying several thresholds, ending at max_threshold",
# 255, 0, 255)
#
#gen.add("min_repeatability", int_t, 0,
# "Blob detection: Minimal number of detections of a blob in the several thresholds to be considered as real blob",
# 1, 1, 10)
#
gen.add("min_distance_between_blobs", double_t, 0,
"Blob detection: Minimal distance between centers of two blobs to be considered as seperate blobs",
10, 0.0, 300.0)
gen.add("filter_by_area", bool_t, 0,
"Blob detection: Filter blobs based on number of pixels",
True)
gen.add("min_area", int_t, 0,
"Blob detection: Minimal number of pixels a blob consists of",
3, 0, 300)
gen.add("max_area", int_t, 0,
"Blob detection: Maximal number of pixels a blob consists of",
300, 0, 300)
gen.add("filter_by_circularity", bool_t, 0,
"Blob detection: Filter blobs based on their circularity",
True)
gen.add("min_circularity", double_t, 0,
"Blob detection: Minimal circularity value (0 in case of a line)",
0.2, 0.0, 1.0)
gen.add("max_circularity", double_t, 0,
"Blob detection: Maximal circularity value (1 in case of a circle)",
1.0, 0.0, 1.0)
gen.add("filter_by_inertia", bool_t, 0,
"Blob detection: Filter blobs based on their inertia ratio",
True)
gen.add("min_inertia_ratio", double_t, 0,
"Blob detection: Minimal inertia ratio",
0.2, 0.0, 1.0)
gen.add("max_inertia_ratio", double_t, 0,
"Blob detection: Maximal inertia ratio",
1.0, 0.0, 1.0)
gen.add("filter_by_convexity", bool_t, 0,
"Blob detection: Filter blobs based on their convexity (Blob area / area of its convex hull)",
False)
gen.add("min_convexity", double_t, 0,
"Blob detection: Minimum convexity ratio",
0.0, 0.0, 1.0)
gen.add("max_convexity", double_t, 0,
"Blob detection: Maximal convexity ratio",
1.0, 0.0, 1.0)
################################################################
#################### Tracking ##################################
gen.add("dt", double_t, 0,
"Tracking: Time for one timestep of the kalman filter",
0.2, 0.1, 3.0)
gen.add("dist_thresh", double_t, 0,
"Tracking: Maximum distance between two points to be considered in the assignment problem",
20.0, 0.0, 150.0)
gen.add("max_allowed_skipped_frames", int_t, 0,
"Tracking: Maximum number of frames a object is tracked while it is not seen",
3, 0, 10)
gen.add("max_trace_length", int_t, 0,
"Tracking: Maximum number of Points in a objects trace",
10, 1, 100)
exit(gen.generate("costmap_converter", "standalone_converter", "CostmapToDynamicObstacles"))

View File

@@ -0,0 +1,41 @@
#!/usr/bin/env python
from dynamic_reconfigure.parameter_generator_catkin import *
gen = ParameterGenerator()
# For integers and doubles:
# Name Type Reconfiguration level
# Description
# Default Min Max
gen.add("cluster_max_distance", double_t, 0,
"Parameter for DB_Scan, maximum distance to neighbors [m]",
0.4, 0.0, 10.0)
gen.add("cluster_min_pts", int_t, 0,
"Parameter for DB_Scan: minimum number of points that define a cluster",
2, 1, 20)
gen.add("cluster_max_pts", int_t, 0,
"Parameter for DB_Scan: maximum number of points that define a cluster (limit cluster size to avoid large L- and U-shapes)",
30, 2, 200)
gen.add("convex_hull_min_pt_separation", double_t, 0,
"Clear keypoints of the convex polygon that are close to each other [distance in meters] (0: keep all)",
0.1, 0.0, 10.0)
gen.add("support_pts_max_dist", double_t, 0,
"Minimum distance from a point to the line to be counted as support point",
0.3, 0.0, 10.0)
gen.add("support_pts_max_dist_inbetween", double_t, 0,
"A line is only defined, if the distance between two consecutive support points is less than this treshold. Set to 0 in order to deactivate this check.",
1.0, 0.0, 10.0)
gen.add("min_support_pts", int_t, 0,
"Minimum number of support points to represent a line",
2, 0, 50)
exit(gen.generate("costmap_converter", "standalone_converter", "CostmapToLinesDBSMCCH"))

View File

@@ -0,0 +1,54 @@
#!/usr/bin/env python
from dynamic_reconfigure.parameter_generator_catkin import *
gen = ParameterGenerator()
# For integers and doubles:
# Name Type Reconfiguration level
# Description
# Default Min Max
gen.add("cluster_max_distance", double_t, 0,
"Parameter for DB_Scan, maximum distance to neighbors [m]",
0.4, 0.0, 10.0)
gen.add("cluster_min_pts", int_t, 0,
"Parameter for DB_Scan: minimum number of points that define a cluster",
2, 1, 20)
gen.add("cluster_max_pts", int_t, 0,
"Parameter for DB_Scan: maximum number of points that define a cluster (limit cluster size to avoid large L- and U-shapes)",
30, 2, 200)
gen.add("ransac_inlier_distance", double_t, 0,
"Maximum distance to the line segment for inliers",
0.2, 0.0, 10.0)
gen.add("ransac_min_inliers", int_t, 0,
"Minimum numer of inliers required to form a line",
10, 0, 100)
gen.add("ransac_no_iterations", int_t, 0,
"Number of ransac iterations",
2000, 1, 10000)
gen.add("ransac_remainig_outliers", int_t, 0,
"Repeat ransac until the number of outliers is as specified here",
3, 0, 50)
gen.add("ransac_convert_outlier_pts", bool_t, 0,
"Convert remaining outliers to single points.",
True)
gen.add("ransac_filter_remaining_outlier_pts", bool_t, 0,
"Filter the interior of remaining outliers and keep only keypoints of their convex hull",
False)
gen.add("convex_hull_min_pt_separation", double_t, 0,
"Clear keypoints of the convex polygon that are close to each other [distance in meters] (0: keep all)",
0.1, 0.0, 10.0)
exit(gen.generate("costmap_converter", "standalone_converter", "CostmapToLinesDBSRANSAC"))

View File

@@ -0,0 +1,33 @@
#!/usr/bin/env python
from dynamic_reconfigure.parameter_generator_catkin import *
gen = ParameterGenerator()
# For integers and doubles:
# Name Type Reconfiguration level
# Description
# Default Min Max
gen.add("cluster_max_distance", double_t, 0,
"Parameter for DB_Scan, maximum distance to neighbors [m]",
0.4, 0.0, 10.0)
gen.add("cluster_min_pts", int_t, 0,
"Parameter for DB_Scan: minimum number of points that define a cluster",
2, 1, 20)
gen.add("cluster_max_pts", int_t, 0,
"Parameter for DB_Scan: maximum number of points that define a cluster (limit cluster size to avoid large L- and U-shapes)",
30, 2, 200)
gen.add("convex_hull_min_pt_separation", double_t, 0,
"Clear keypoints of the convex polygon that are close to each other [distance in meters] (0: keep all)",
0.1, 0.0, 10.0)
gen.add("concave_hull_depth", double_t, 0,
"Smaller depth: sharper surface, depth -> high value: convex hull",
2.0, 0.0, 100.0)
exit(gen.generate("costmap_converter", "standalone_converter", "CostmapToPolygonsDBSConcaveHull"))

View File

@@ -0,0 +1,29 @@
#!/usr/bin/env python
from dynamic_reconfigure.parameter_generator_catkin import *
gen = ParameterGenerator()
# For integers and doubles:
# Name Type Reconfiguration level
# Description
# Default Min Max
gen.add("cluster_max_distance", double_t, 0,
"Parameter for DB_Scan, maximum distance to neighbors [m]",
0.4, 0.0, 10.0)
gen.add("cluster_min_pts", int_t, 0,
"Parameter for DB_Scan: minimum number of points that define a cluster",
2, 1, 20)
gen.add("cluster_max_pts", int_t, 0,
"Parameter for DB_Scan: maximum number of points that define a cluster (limit cluster size to avoid large L- and U-shapes)",
30, 2, 200)
gen.add("convex_hull_min_pt_separation", double_t, 0,
"Clear keypoints of the convex polygon that are close to each other [distance in meters] (0: keep all)",
0.1, 0.0, 10.0)
exit(gen.generate("costmap_converter", "standalone_converter", "CostmapToPolygonsDBSMCCH"))