test for gc

This commit is contained in:
2026-08-11 19:38:10 +08:00
parent 94609d938d
commit c30a810b12
36 changed files with 5589 additions and 71 deletions

View File

@@ -8,6 +8,7 @@ racing_control:
enable_vlm_image_relay: false
enable_dynamic_replanning: false
enable_recovery: true
enable_candidate_waypoint_selection: true
vlm_image_input_topic: /image
vlm_image_output_topic: /vlm_image
@@ -17,6 +18,7 @@ racing_control:
vlm_result_topic: /vlm_result
odom_topic: /odom_combined
recovery_cmd_vel_topic: /cmd_vel
global_costmap_topic: /global_costmap/costmap
trajectory_guard_input_topic: /trajectory_guard/input_path
# Nav2 actions and plugin IDs
@@ -42,6 +44,15 @@ racing_control:
recovery_backup_speed: -0.2
recovery_backup_distance: 0.04
recovery_backup_timeout_sec: 0.2
# Used only when the initial ComputePathThroughPoses request fails.
planning_failure_backup_speed: -0.1
planning_failure_backup_distance: 0.03
planning_failure_backup_timeout_sec: 0.3
recovery_clear_wait_sec: 1.0
recovery_search_radius_m: 1.0
recovery_rear_clear_distance_m: 0.5
global_costmap_clear_service: global_costmap/clear_entirely_global_costmap
local_costmap_clear_service: local_costmap/clear_entirely_local_costmap
max_recovery_attempts: 2
circle_goal_tolerance: 0.50
@@ -57,6 +68,17 @@ racing_control:
sign_vlm_trigger: 9
sign_profile_normal: 10
sign_profile_task2: 11
vlm_trigger_repeat_count: 5
vlm_trigger_interval_sec: 0.5
# Candidate waypoint JSONs reuse the saved-point format.
# home is intentionally never replaced.
candidate_waypoint_json_dir: /home/sunrise/yiliao_ws/src/racing_control/config/waypoints
qr_candidate_group_name: qr
entry_candidate_group_name: entry
vlm_candidate_group_name: goal_005
clockwise_candidate_source_file: main_1.json
counterclockwise_candidate_source_file: main_2.json
# Pose parameters are flat x/y/yaw-radians triples in frame_id.
qr_pose: [4.333107888975101, 1.028867429995691, 1.1383894869544392]

View File

@@ -0,0 +1,106 @@
{
"topic": "/odom_combined",
"message_type": "nav_msgs/msg/Odometry",
"saved_at": "2026-08-07T14:42:49.402Z",
"count": 2,
"points": [
{
"name": "qr",
"captured_at": "2026-08-07T14:42:33.118Z",
"received_at": null,
"yaw_degrees": 65.22491304455252,
"odom": {
"header": {
"frame_id": "odom",
"stamp": {
"sec": 0,
"nanosec": 0
},
"stamp_iso": null
},
"child_frame_id": "base_link",
"pose": {
"pose": {
"position": {
"x": 4.333107888975101,
"y": 1.028867429995691,
"z": 0
},
"orientation": {
"x": 0,
"y": 0,
"z": 0.5389539275964809,
"w": 0.8423352443821446
}
},
"covariance": []
},
"twist": {
"twist": {
"linear": {
"x": 0,
"y": 0,
"z": 0
},
"angular": {
"x": 0,
"y": 0,
"z": 0
}
},
"covariance": []
},
"yaw_degrees": 65.22491304455252
}
},
{
"name": "entry",
"captured_at": "2026-08-07T14:42:45.961Z",
"received_at": null,
"yaw_degrees": 87.09617569507752,
"odom": {
"header": {
"frame_id": "odom",
"stamp": {
"sec": 0,
"nanosec": 0
},
"stamp_iso": null
},
"child_frame_id": "base_link",
"pose": {
"pose": {
"position": {
"x": 2.504811372926262,
"y": 2.2798075935366624,
"z": 0
},
"orientation": {
"x": 0,
"y": 0,
"z": 0.6889631335573172,
"w": 0.7247963856138373
}
},
"covariance": []
},
"twist": {
"twist": {
"linear": {
"x": 0,
"y": 0,
"z": 0
},
"angular": {
"x": 0,
"y": 0,
"z": 0
}
},
"covariance": []
},
"yaw_degrees": 87.09617569507752
}
}
]
}

View File

@@ -0,0 +1,155 @@
{
"topic": "/odom_combined",
"message_type": "nav_msgs/msg/Odometry",
"saved_at": "2026-08-07T14:44:10.775Z",
"count": 3,
"points": [
{
"name": "goal_004",
"captured_at": "2026-08-07T14:43:55.328Z",
"received_at": null,
"yaw_degrees": 89.33764149250207,
"odom": {
"header": {
"frame_id": "odom",
"stamp": {
"sec": 0,
"nanosec": 0
},
"stamp_iso": null
},
"child_frame_id": "base_link",
"pose": {
"pose": {
"position": {
"x": 0.7534956931109804,
"y": 3.766501234923627,
"z": 0
},
"orientation": {
"x": 0,
"y": 0,
"z": 0.7030077953706314,
"w": 0.7111821423855668
}
},
"covariance": []
},
"twist": {
"twist": {
"linear": {
"x": 0,
"y": 0,
"z": 0
},
"angular": {
"x": 0,
"y": 0,
"z": 0
}
},
"covariance": []
},
"yaw_degrees": 89.33764149250207
}
},
{
"name": "goal_005",
"captured_at": "2026-08-07T14:44:02.099Z",
"received_at": null,
"yaw_degrees": 2.2906028734862383,
"odom": {
"header": {
"frame_id": "odom",
"stamp": {
"sec": 0,
"nanosec": 0
},
"stamp_iso": null
},
"child_frame_id": "base_link",
"pose": {
"pose": {
"position": {
"x": 3.8567885105264077,
"y": 4.329424195458402,
"z": 0
},
"orientation": {
"x": 0,
"y": 0,
"z": 0.019987949834902125,
"w": 0.9998002209748693
}
},
"covariance": []
},
"twist": {
"twist": {
"linear": {
"x": 0,
"y": 0,
"z": 0
},
"angular": {
"x": 0,
"y": 0,
"z": 0
}
},
"covariance": []
},
"yaw_degrees": 2.2906028734862383
}
},
{
"name": "goal_006",
"captured_at": "2026-08-07T14:44:09.250Z",
"received_at": null,
"yaw_degrees": -92.25458353863968,
"odom": {
"header": {
"frame_id": "odom",
"stamp": {
"sec": 0,
"nanosec": 0
},
"stamp_iso": null
},
"child_frame_id": "base_link",
"pose": {
"pose": {
"position": {
"x": 2.5144339572664096,
"y": 2.4337692660037766,
"z": 0
},
"orientation": {
"x": 0,
"y": 0,
"z": -0.720881318872454,
"w": 0.6930585286256215
}
},
"covariance": []
},
"twist": {
"twist": {
"linear": {
"x": 0,
"y": 0,
"z": 0
},
"angular": {
"x": 0,
"y": 0,
"z": 0
}
},
"covariance": []
},
"yaw_degrees": -92.25458353863968
}
}
]
}

View File

@@ -0,0 +1,155 @@
{
"topic": "/odom_combined",
"message_type": "nav_msgs/msg/Odometry",
"saved_at": "2026-08-07T14:43:29.485Z",
"count": 3,
"points": [
{
"name": "goal_001",
"captured_at": "2026-08-07T14:43:14.866Z",
"received_at": null,
"yaw_degrees": 88.52360610794565,
"odom": {
"header": {
"frame_id": "odom",
"stamp": {
"sec": 0,
"nanosec": 0
},
"stamp_iso": null
},
"child_frame_id": "base_link",
"pose": {
"pose": {
"position": {
"x": 4.2128251001861265,
"y": 3.7376334819031842,
"z": 0
},
"orientation": {
"x": 0,
"y": 0,
"z": 0.6979380047775942,
"w": 0.7161581818893582
}
},
"covariance": []
},
"twist": {
"twist": {
"linear": {
"x": 0,
"y": 0,
"z": 0
},
"angular": {
"x": 0,
"y": 0,
"z": 0
}
},
"covariance": []
},
"yaw_degrees": 88.52360610794565
}
},
{
"name": "goal_002",
"captured_at": "2026-08-07T14:43:20.968Z",
"received_at": null,
"yaw_degrees": 178.26427158937722,
"odom": {
"header": {
"frame_id": "odom",
"stamp": {
"sec": 0,
"nanosec": 0
},
"stamp_iso": null
},
"child_frame_id": "base_link",
"pose": {
"pose": {
"position": {
"x": 1.1720794040064113,
"y": 4.319801449605877,
"z": 0
},
"orientation": {
"x": 0,
"y": 0,
"z": 0.99988528505826,
"w": 0.015146508639358486
}
},
"covariance": []
},
"twist": {
"twist": {
"linear": {
"x": 0,
"y": 0,
"z": 0
},
"angular": {
"x": 0,
"y": 0,
"z": 0
}
},
"covariance": []
},
"yaw_degrees": 178.26427158937722
}
},
{
"name": "goal_003",
"captured_at": "2026-08-07T14:43:28.294Z",
"received_at": null,
"yaw_degrees": -88.21009502116203,
"odom": {
"header": {
"frame_id": "odom",
"stamp": {
"sec": 0,
"nanosec": 0
},
"stamp_iso": null
},
"child_frame_id": "base_link",
"pose": {
"pose": {
"position": {
"x": 2.4951887885861144,
"y": 2.318297930897253,
"z": 0
},
"orientation": {
"x": 0,
"y": 0,
"z": -0.6959760577153663,
"w": 0.7180649880665239
}
},
"covariance": []
},
"twist": {
"twist": {
"linear": {
"x": 0,
"y": 0,
"z": 0
},
"angular": {
"x": 0,
"y": 0,
"z": 0
}
},
"covariance": []
},
"yaw_degrees": -88.21009502116203
}
}
]
}