add wust typr mpc and mutipule x

This commit is contained in:
cyy_mac
2026-03-27 03:41:42 +08:00
parent 2c64655fae
commit 7dcb53bb77
192 changed files with 29571 additions and 9 deletions

View File

@@ -0,0 +1,131 @@
armor_detect_backend: tensorrt
max_detect_armors: 11
armor_map:
SENTRY: 4
NO1: 2
NO2: 3
NO3: 1
NO4: 5
NO5: 9
OUTPOST: 6
BASE: 7
UNKNOWN: -1
armor_where:
yaw_opt:
mode: golden
golden_search_side_deg: 60
distance_fix_a2: 0.0
armor_tracker:
lost_time_thres: 2.0
tracking_thres: 10
max_yaw_diff_deg: 60.0
max_dis_diff: 3.0
match_gate: 50
qxyz_common: [200.0, 200.0, 1.0]
qyaw_common: 100.0
qxyz_output: [10.0, 10.0, 0.5]
qyaw_output: 0.01
q_r: 0.0000001
q_l: 0.0000001
q_h: 0.0000001
q_outpost_dz: 0.5
yp_r: 2e-3
dis_r_front: 0.5
dis_r_side: 2.5
dis2_r_ratio: 0.1
yaw_r_base_front: 0.2
yaw_r_base_side: 0.06
yaw_r_log_ratio: 0.02
esekf_iter_num: 5
auto_aim_fsm:
single_whole_up: 1.5
single_whole_down: 1.0
whole_pair_up: 7.5
whole_pair_down: 6.5 #1s内至少换2次板子 2pi 否则轨迹规划无意义
pair_center_up: 16.5
pair_center_down: 15.0
transfer_thresh: 50
very_aimer:
fuck_test: false
fuck_test_thresh: 0.5
type: "seg" #seg or mpc
sample_total_time: 2.0
sample_horizon: 500
control_delay: 0.2
delay_enable_fire_error: 0.0035
max_yaw_acc: 40
#全向yaw加速度测算37
max_pitch_acc: 25
prediction_delay: 0.00
comming_angle: 60
leaving_angle: 20
yaw_limit_deg: 60
shooting_range_h: 0.12
shooting_range_small_w: 0.12
shooting_range_big_w: 0.24
min_enable_pitch_deg: 0.25
min_enable_yaw_deg: 0.25
base_offset:
yaw: -1.0
pitch: -3.5
trajectory_offset:
- d_max: 3
d_min: 0
h_max: 1.5
h_min: -1
pitch_off: 0
yaw_off: 0
- d_max: 4.5
d_min: 3
h_max: 1.5
h_min: -1
pitch_off: 0
yaw_off: 0
- d_max: 4.5
d_min: 9
h_max: 1.5
h_min: -1
pitch_off: 0
yaw_off: 0
#---mpc only
max_iter: 10
Q_yaw: [7e6, 0]
R_yaw: [3.0]
Q_pitch: [7e6, 0]
R_pitch: [3.0]
trajectory_compensator:
compenstator_type: resistance
gravity: 9.8
iteration_times: 20
resistance: 0.092
k1: 0.0190 #大弹丸double k1_c = 0.47; double k1 = k1_c * 1.169 * (2 * M_PI * 0.02125 * 0.02125) / 2 / 0.041;
auto_exposure:
enable: true
target_brightness: 25.0
tolerance: 3.0
step_gain: 15.0
decay_step: 1.0
exposure_min: 100.0
exposure_max: 1500.0
control_interval_ms: 300

View File

@@ -0,0 +1,76 @@
rune_detector:
rune_center_min_area: 10
rune_center_max_area: 2000
rune_center_1x1ratio_tol: 0.7
rune_center_fill_ratio_min: 0.3
rune_target_min_area: 100
rune_target_max_area: 3000
rune_target_max_square_ratio: 1.3
rune_target_cluster_radius: 70
bin_threshold: 50
color_diff_threshold: 40
rune_where:
roll_opt:
mode: golden
golden_search_side_deg: 60
rune_tracker:
lost_time_thres: 2.0
tracking_thres: 5
max_dis_diff: 1.0
match_gate: 15.0
esekf_iter_num: 2
q_roll: 10.0
q_xyz: 0.5
q_yaw: 0.5
yp_r: 0.01
dis_r: 0.05
yaw_r: 0.1
roll_r: 0.2
big_window_sec: 2.0
aimer:
prediction_delay: -0.00
shooting_range_h: 0.1
shooting_range_w: 0.1
min_enable_pitch_deg: 0.25
min_enable_yaw_deg: 0.25
base_offset:
yaw: -3.0
pitch: -0.0
trajectory_offset:
- d_max: 9
d_min: 0
h_max: 1.5
h_min: -1
pitch_off: -0
yaw_off: -0
- d_max: 10
d_min: 9
h_max: 0.4
h_min: -1
pitch_off: -0
yaw_off: 0
trajectory_compensator:
compenstator_type: resistance
gravity: 9.8
iteration_times: 20
resistance: 0.092
k1: 0.0190 #大弹丸double k1_c = 0.47; double k1 = k1_c * 1.169 * (2 * M_PI * 0.02125 * 0.02125) / 2 / 0.041;
auto_exposure:
enable: false
target_brightness: 15.0
tolerance: 3.0
step_gain: 15.0
decay_step: 1.0
exposure_min: 100.0
exposure_max: 2500.0
control_interval_ms: 300

View File

@@ -0,0 +1,83 @@
backend: opencv
max_infer_running: 6
detector:
openvino:
model_path: /home/hy/2026_dart_guide/assets/Katrin.xml
top_k: 128
conf_threshold: 0.2
nms_threshold: 0.5
device_type: CPU
use_throughputmode: false
opencv:
gui: true
HSV:
lowH: 25
highH: 85
lowS: 50
highS: 255
lowV: 150
highV: 255
contours:
min_area: 100
max_area: 50000
min_aspect_ratio: 0.5
min_fill_ratio: 0.7
tracker:
lost_time_thres: 2.0
tracking_thres: 10
target:
xy_r: 0.05
wh_r: 0.05
q_xy: 100
q_wh: 100
iter_num: 2
max_dis_diff: 2.0
logger:
log_level: INFO
log_path: /home/hy/wust_log
use_logcli: true
use_logfile: true
use_simplelog: true
control:
control_rate: 100
communication_delay_us: 1100
pitch_avg_windows: 1
device_name: /dev/ttyACM_RMc
use_serial: true
camera:
type: hik_camera
camera_info_path: ${VISION_ROOT}/config/camera_info.yaml
hik_camera:
target_sn: DA1094119 #DA3038891
acquisition_frame_rate: 80
adc_bit_depth: Bits_12
exposure_time: 5000
gain: 16.9
gamma: 0.5 #Bayer用不了
pixel_format: BayerRG8
use_raw: false
acquisition_frame_rate_enable: false
reverse_x: false
reverse_y: false
video_player:
fps: 12
loop: true
use_cvt: true
#path: /home/hy/wust_data/video/aaa.mp4
#path: /home/hy/wust_data/video/jiao.avi
#path: /home/hy/Z_LION_AutoAim2025/src/auto_aim_publisher/videos/sample.avi
#path: /home/hy/wust_data/record/20251111_134416_187.avi
path: /home/hy/下载/sp_vision_25/records/1.avi
#path: /home/hy/wust_data/video/Sentry.mp4
start_frame: 0

View File

@@ -0,0 +1,27 @@
map:
voxel_size: 0.1
min_pos: [-5.0,-10.0,-1.0]
max_pos: [20.0,10.0,1.0]
solver:
k1: 0.0190
g: 9.81
target_armor_z: 0.5
offset_helper:
order: 5
yaw_base_offset: 0.0
pitch_base_offset: 0.0
offset_table:
- distance: 2.0
yaw: 0.1
pitch: -0.2
- distance: 3.0
yaw: 0.15
pitch: -0.25
- distance: 4.0
yaw: 0.2
pitch: -0.3

View File

@@ -0,0 +1,50 @@
type: hik_camera
camera_info_path: ${VISION_ROOT}/config/camera_info.yaml
hik_camera:
target_sn: DA3038934
adc_bit_depth: Bits_8
pixel_format: BayerRG8 #RGB8Packed
reverse_x: false
reverse_y: false
width: 1440
height: 1080
offset_x: 0
offset_y: 0
acquisition_frame_rate_enable: true
acquisition_frame_rate: 250
exposure_time: 2000
gain: 16.9
gamma: 0.7 #Bayer用不了
trigger_type: none
trigger_source: ""
trigger_activation: 0
use_raw: false
use_rgb: false
use_ea: false
use_cuda_cvt: true
video_player:
fps: 60
loop: true
use_cvt: true
trigger_mode: false
#path: /home/hy/wust_data/video/aaa.mp4
#path: /home/hy/wust_data/video/jiao.avi
#path: /home/hy/Z_LION_AutoAim2025/src/auto_aim_publisher/videos/sample.avi
#path: /home/hy/wust_data/record/20251111_134416_187.avi
path: /home/hy/data/video_save/5.21成都.mp4
#path: /home/hy/wust_data/video/Sentry.mp4
start_frame: 0
uvc:
device_name: "/dev/v4l/by-path/pci-0000:00:14.0-usb-0:3.4:1.0-video-index0"
fps: 60
width: 1280
height: 720
exposure: 100.0
gain: 10.0
gamma: 100
trigger_mode: false

View File

@@ -0,0 +1,82 @@
#8mm
# image_width: 1440
# image_height: 1080
# camera_name: narrow_stereo
# camera_matrix:
# rows: 3
# cols: 3
# data: [2419.64498, 0. , 719.05623,
# 0. , 2414.38209, 538.71651,
# 0. , 0. , 1. ]
# distortion_model: plumb_bob
# distortion_coefficients:
# rows: 1
# cols: 5
# data: [-0.033521, 0.087954, -0.002045, -0.001438, 0.000000]
# rectification_matrix:
# rows: 3
# cols: 3
# data: [1., 0., 0.,
# 0., 1., 0.,
# 0., 0., 1.]
# projection_matrix:
# rows: 3
# cols: 4
# data: [2413.22632, 0. , 717.5196 , 0. ,
# 0. , 2408.83228, 537.43444, 0. ,
# 0. , 0. , 1. , 0. ]
#6mm
image_width: 1440
image_height: 1080
camera_name: narrow_stereo
camera_matrix:
rows: 3
cols: 3
data: [1814.19888, 0. , 730.27359,
0. , 1807.37177, 529.57031,
0. , 0. , 1. ]
distortion_model: plumb_bob
distortion_coefficients:
rows: 1
cols: 5
data: [-0.089138, 0.114766, 0.000034, 0.000238, 0.000000]
rectification_matrix:
rows: 3
cols: 3
data: [1., 0., 0.,
0., 1., 0.,
0., 0., 1.]
projection_matrix:
rows: 3
cols: 4
data: [1793.54229, 0. , 730.67194, 0. ,
0. , 1794.48784, 529.46193, 0. ,
0. , 0. , 1. , 0. ]
#12mm
# image_width: 1440
# image_height: 1080
# camera_name: narrow_stereo
# camera_matrix:
# rows: 3
# cols: 3
# data: [3655.11292, 0. , 748.66803,
# 0. , 3648.34439, 556.97683,
# 0. , 0. , 1. ]
# distortion_model: plumb_bob
# distortion_coefficients:
# rows: 1
# cols: 5
# data: [-0.058763, 1.430269, 0.001191, 0.001641, 0.000000]
# rectification_matrix:
# rows: 3
# cols: 3
# data: [1., 0., 0.,
# 0., 1., 0.,
# 0., 0., 1.]
# projection_matrix:
# rows: 3
# cols: 4
# data: [3659.22949, 0. , 748.71496, 0. ,
# 0. , 3652.02661, 556.81908, 0. ,
# 0. , 0. , 1. , 0. ]

View File

@@ -0,0 +1,34 @@
max_infer_running: 6
detect_color: 0
attack_mode: 0
debug_fps: 60
tf:
R_camera2gimbal: [0.0, 0.0, 1.0, -1.0, -0.0, 0.0, 0.0, -1.0, 0.0]
t_camera2gimbal:
[0.000434347168653831, 0.0141232476052895, 0.00736106400231024]
control:
control_rate: 1000
communication_delay_us: 100.000
device_name: /dev/stm32_acm
use_serial: true
yaw_ramp: 0.0 #send_cmd = cmd.pos+cmd.vel*ramp
pitch_ramp: 0.0
logger:
log_level: DEBUG
log_path: log
use_logcli: true
use_logfile: false
use_simplelog: true
shoot:
bullet_speed: 26.0
rate: 3
record:
use_record: false
folder_path: record
use_rotate_reader: false
read_csv_path: ""

View File

@@ -0,0 +1,66 @@
armor_detector:
cv: #装甲板灯条完整无损坏才可以用
enable: true
armor:
max_angle: 40
max_large_center_distance: 8
max_small_center_distance: 3.5
min_large_center_distance: 3.5
min_light_ratio: 0.5
min_small_center_distance: 0.05
light:
binary_thres: 150
expand_ratio_h: 1.9
expand_ratio_w: 1.2
max_angle: 45
max_ratio: 0.4
min_ratio: 0.01
max_pts_error: 20.0
max_angle_diff: 20.0
color_diff_thresh: 40
classify:
enable: true
label_path: ${VISION_ROOT}/model/label.txt
model_path: ${VISION_ROOT}/model/mlp.onnx
backend: opencv
threshold: 0.5
tensorrt:
conf_threshold: 0.2
model_path: ${VISION_ROOT}/model/opt-1208-001.onnx
device_id: 0
nms_threshold: 0.3
top_k: 128
max_infer_running: 3
min_free_mem_ratio: 0.1
use_cuda_pre: true
log_time: false
model_type: tup
openvino:
conf_threshold: 0.2
device_name: GPU
model_path: ${VISION_ROOT}/model/opt-1208-001.onnx
nms_threshold: 0.3
top_k: 128
use_throughputmode: true
model_type: tup
onnxruntime:
conf_threshold: 0.2
model_path: ${VISION_ROOT}/model/opt-1208-001.onnx
nms_threshold: 0.3
top_k: 128
model_type: tup
provider: CUDA
ncnn:
conf_threshold: 0.2
model_path_param: ${VISION_ROOT}/model/opt-1208-001.param
model_path_bin: ${VISION_ROOT}/model/opt-1208-001.bin
input_name: images
output_name: output
use_gpu: true
use_lightmode: false
device_id: 0
cpu_threads: 20
nms_threshold: 0.3
top_k: 128
model_type: tup

View File

@@ -0,0 +1,19 @@
armor_detector:
light:
binary_thres: 120
max_angle: 40
max_ratio: 0.4
min_ratio: 0.001
color_diff_thresh: 20
max_angle_diff: 10.0
armor:
min_light_ratio: 0.8
min_small_center_distance: 0.8
max_small_center_distance: 3.5
min_large_center_distance: 3.5
max_large_center_distance: 8.0
max_angle: 40.0
classify:
label_path: ${VISION_ROOT}/model/label.txt
model_path: ${VISION_ROOT}/model/reborn_number_classifier.onnx
threshold: 0.5

View File

@@ -0,0 +1,24 @@
#!/bin/bash
TARGET="$1"
shift
ARGS=("${@:3}")
echo "[GUARD] target: $TARGET"
echo "[GUARD] args: ${ARGS[*]}"
echo "[GUARD] Starting monitor..."
while true; do
echo "[GUARD] Launching program..."
"$TARGET" "${ARGS[@]}"
RET=$?
if [ $RET -eq 0 ]; then
echo "[GUARD] Program exited normally. Stopping guard."
exit 0
fi
echo "[GUARD] Crash detected, restarting in 1 second..."
sleep 1
done

View File

@@ -0,0 +1,51 @@
yaw_in_big_yaw_deg: 90.0
type: uvc
camera_info_path: ${VISION_ROOT}/config/camera_info.yaml
hik_camera:
target_sn: DA1094119
adc_bit_depth: Bits_8
pixel_format: BayerRG8 #RGB8Packed
reverse_x: false
reverse_y: false
width: 1440
height: 1080
offset_x: 0
offset_y: 0
acquisition_frame_rate_enable: true
acquisition_frame_rate: 250
exposure_time: 2000
gain: 16.9
gamma: 0.7 #Bayer用不了
trigger_type: none
trigger_source: ""
trigger_activation: 0
use_raw: false
use_rgb: false
use_ea: false
use_cuda_cvt: false
video_player:
fps: 60
loop: true
use_cvt: true
trigger_mode: false
#path: /home/hy/wust_data/video/aaa.mp4
#path: /home/hy/wust_data/video/jiao.avi
#path: /home/hy/Z_LION_AutoAim2025/src/auto_aim_publisher/videos/sample.avi
#path: /home/hy/wust_data/record/20251111_134416_187.avi
path: /home/hy/rune_dl/runeA.mp4
#path: /home/hy/wust_data/video/Sentry.mp4
start_frame: 0
uvc:
device_name: "/dev/v4l/by-path/pci-0000:00:14.0-usb-0:9.4:1.0-video-index0"
fps: 30
width: 1280
height: 720
exposure: 200
gain: 10.0
gamma: 100
trigger_mode: true

View File

@@ -0,0 +1,51 @@
yaw_in_big_yaw_deg: 107.0
type: uvc
camera_info_path: ${VISION_ROOT}/config/omni/camera_info.yaml
hik_camera:
target_sn: DA1094119
adc_bit_depth: Bits_8
pixel_format: BayerRG8 #RGB8Packed
reverse_x: false
reverse_y: false
width: 1440
height: 1080
offset_x: 0
offset_y: 0
acquisition_frame_rate_enable: true
acquisition_frame_rate: 250
exposure_time: 2000
gain: 16.9
gamma: 0.7 #Bayer用不了
trigger_type: none
trigger_source: ""
trigger_activation: 0
use_raw: false
use_rgb: false
use_ea: false
use_cuda_cvt: false
video_player:
fps: 60
loop: true
use_cvt: true
trigger_mode: false
#path: /home/hy/wust_data/video/aaa.mp4
#path: /home/hy/wust_data/video/jiao.avi
#path: /home/hy/Z_LION_AutoAim2025/src/auto_aim_publisher/videos/sample.avi
#path: /home/hy/wust_data/record/20251111_134416_187.avi
path: /home/hy/rune_dl/runeA.mp4
#path: /home/hy/wust_data/video/Sentry.mp4
start_frame: 0
uvc:
device_name: "/dev/v4l/by-path/pci-0000:00:14.0-usb-0:9.1:1.0-video-index0"
fps: 30
width: 1280
height: 720
exposure: 200
gain: 10.0
gamma: 100
trigger_mode: true

View File

@@ -0,0 +1,28 @@
# camera_matrix = [759.73071, 0.0, 336.19053, 0.0, 761.16771, 231.83002, 0.0, 0.0, 1.0]
# distortion_coefficients = [0.000281, 0.144018, 0.005509, -0.004330, 0.0]
image_width: 1440
image_height: 1080
camera_name: narrow_stereo
camera_matrix:
rows: 3
cols: 3
data: [759.73071, 0.0, 336.19053, 0.0, 761.16771, 231.83002, 0.0, 0.0, 1.0 ]
distortion_model: plumb_bob
distortion_coefficients:
rows: 1
cols: 5
data: [0.000281, 0.144018, 0.005509, -0.004330, 0.0]
rectification_matrix:
rows: 3
cols: 3
data: [1., 0., 0.,
0., 1., 0.,
0., 0., 1.]
projection_matrix:
rows: 3
cols: 4
data: [1793.54229, 0. , 730.67194, 0. ,
0. , 1794.48784, 529.46193, 0. ,
0. , 0. , 1. , 0. ]

View File

@@ -0,0 +1,66 @@
armor_detector:
cv: #装甲板灯条完整无损坏才可以用
enable: false
armor:
max_angle: 40
max_large_center_distance: 8
max_small_center_distance: 3.5
min_large_center_distance: 3.5
min_light_ratio: 0.5
min_small_center_distance: 0.05
light:
binary_thres: 150
expand_ratio_h: 1.9
expand_ratio_w: 1.2
max_angle: 45
max_ratio: 0.4
min_ratio: 0.01
max_pts_error: 20.0
max_angle_diff: 20.0
color_diff_thresh: 0
classify:
enable: true
label_path: ${VISION_ROOT}/model/label.txt
model_path: ${VISION_ROOT}/model/mlp.onnx
backend: opencv
threshold: 0.5
tensorrt:
conf_threshold: 0.2
model_path: ${VISION_ROOT}/model/opt-1208-001.onnx
device_id: 0
nms_threshold: 0.3
top_k: 128
max_infer_running: 3
min_free_mem_ratio: 0.1
use_cuda_pre: true
log_time: false
model_type: tup
openvino:
conf_threshold: 0.2
device_name: GPU
model_path: ${VISION_ROOT}/model/opt-1208-001.onnx
nms_threshold: 0.3
top_k: 128
use_throughputmode: true
model_type: tup
onnxruntime:
conf_threshold: 0.2
model_path: ${VISION_ROOT}/model/opt-1208-001.onnx
nms_threshold: 0.3
top_k: 128
model_type: tup
provider: CUDA
ncnn:
conf_threshold: 0.2
model_path_param: ${VISION_ROOT}/model/opt-1208-001.param
model_path_bin: ${VISION_ROOT}/model/opt-1208-001.bin
input_name: images
output_name: output
use_gpu: true
use_lightmode: false
device_id: 0
cpu_threads: 20
nms_threshold: 0.3
top_k: 128
model_type: tup

View File

@@ -0,0 +1,19 @@
armor_detector:
light:
binary_thres: 120
max_angle: 40
max_ratio: 0.4
min_ratio: 0.001
color_diff_thresh: 20
max_angle_diff: 10.0
armor:
min_light_ratio: 0.8
min_small_center_distance: 0.8
max_small_center_distance: 3.5
min_large_center_distance: 3.5
max_large_center_distance: 8.0
max_angle: 40.0
classify:
label_path: ${VISION_ROOT}/model/label.txt
model_path: ${VISION_ROOT}/model/reborn_number_classifier.onnx
threshold: 0.5

View File

@@ -0,0 +1,37 @@
armor_detect_backend: openvino
cameras: ["${VISION_ROOT}/config/omni/camera0.yaml", "${VISION_ROOT}/config/omni/camera1.yaml"]
fps: 60
max_infer_running: 3
active_time: 1.0
min_score: 15.0
armor_where:
yaw_opt:
mode: golden
golden_search_side_deg: 60
distance_fix_a2: 0.0
armor_tracker:
lost_time_thres: 1.0
tracking_thres: 5
max_yaw_diff_deg: 90.0
max_dis_diff: 3.0
match_gate: 50
qxyz_common: [1.0, 1.0, 1.0]
qyaw_common: 1.0
qxyz_output: [1.0, 1.0, 0.5]
qyaw_output: 0.01
q_r: 0.0000001
q_l: 0.0000001
q_h: 0.0000001
q_outpost_dz: 0.5
yp_r: 2e-3
dis_r_front: 0.5
dis_r_side: 2.5
dis2_r_ratio: 0.1
yaw_r_base_front: 0.2
yaw_r_base_side: 0.06
yaw_r_log_ratio: 0.02
esekf_iter_num: 1