Uh oh!
There was an error while loading. Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork 42
merge/deformable-infantry#102
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base:main
Are you sure you want to change the base?
Uh oh!
There was an error while loading. Please reload this page.
Changes from all commits
File filter
Filter by extension
Conversations
Uh oh!
There was an error while loading. Please reload this page.
Jump to
Uh oh!
There was an error while loading. Please reload this page.
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -30,10 +30,13 @@ rmcs_executor: | ||
| - rmcs_core::controller::chassis::DeformableJointController -> rb_joint_controller | ||
| - rmcs_core::controller::chassis::DeformableJointController -> rf_joint_controller | ||
| - rmcs::AutoAimRecorderComponent -> auto_aim_recorder | ||
| - rmcs::AutoAimComponent -> auto_aim_component | ||
| - rmcs::AutoAimCapturerComponent -> auto_aim_capturer | ||
| - rmcs_core::referee::app::ui::AutoAimUi -> auto_aim_ui | ||
| # - rmcs_core::debug::GimbalValueCollector -> gimbal_value_collector | ||
| # - rmcs_core::broadcaster::ValueBroadcaster -> value_broadcaster | ||
| # - rmcs_core::debug::ValueCollector -> value_collector | ||
| @@ -50,17 +53,32 @@ value_collector: | ||
| write_interval: 5 | ||
| flush_interval: 1000 | ||
| gimbal_value_collector: | ||
| ros__parameters: | ||
| csv_path: "/tmp/gimbal_ff_<timestamp>.csv" | ||
| write_interval: 1 | ||
| flush_interval: 1000 | ||
| value_broadcaster: | ||
| ros__parameters: | ||
| forward_list: | ||
| - /gimbal/pitch/angle | ||
| - /gimbal/pitch/velocity | ||
| - /gimbal/yaw/angle | ||
| - /gimbal/yaw/velocity | ||
| auto_aim_recorder: | ||
| ros__parameters: | ||
| output_path: "/autoaim/recoder" | ||
| queue_depth: 16 | ||
| flush_every_n_frames: 64 | ||
| max_duration_seconds: 0 | ||
| max_videos_size_gb: 200.0 | ||
| auto_record: false | ||
Comment on lines
+68
to
+75
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🩺 Stability & Availability | 🟠 Major | ⚡ Quick win 两个配置的
📍 Affects 2 files
🤖 Prompt for AI Agents | ||
| auto_aim_capturer: | ||
| ros__parameters: | ||
| camera_name: "" | ||
| exposure_us: 4000.0 | ||
| gain: 8.0 | ||
| exposure_us: 2000.0 | ||
| gain: 10.0 | ||
| framerate: 120.0 | ||
| invert_image: false | ||
| rls_tau_sec: 10.0 | ||
| @@ -73,23 +91,23 @@ auto_aim_component: | ||
| # 将强行绑定为对应阵营哨兵,仅供调试,严禁比赛启用。 | ||
| # 留空或填 unknow 表示禁用。 | ||
| dangerous_fallback: "" | ||
| manual_shoot: true | ||
| manual_shoot: false | ||
| enable_rune: true | ||
| camera_translation: [0.058, -0.08, 0.0] | ||
| fire_control: | ||
| bullet_speed: 22.5 | ||
| shoot_delay: 0.04 | ||
| offset_yaw: +2.5 | ||
| offset_pitch: +0.5 | ||
| attack_window: 80.0 | ||
| shoot_delay: 0.07 | ||
| offset_yaw: +2.6 | ||
| offset_pitch: -0.3 | ||
| attack_window: 120.0 | ||
| degraded_angle_speed: 12.0 | ||
| window_redundancy: 0.8 | ||
| window_redundancy: 0.6 | ||
| window_hysteresis: 0.2 | ||
| attack_preaim: false | ||
| require_stable_command: false | ||
| yaw_tolerance: 0.07 | ||
| pitch_tolerance: 0.04 | ||
| rune_idle_duration: 0.4 | ||
| yaw_tolerance: 0.14 | ||
| pitch_tolerance: 0.08 | ||
| rune_idle_duration: 0.6 | ||
| rune_shoot_duration: 0.2 | ||
| auto_aim_ui: | ||
| @@ -106,26 +124,23 @@ deformable_infantry: | ||
| rod_length: 0.140 | ||
| yaw_motor_zero_point: 57900 | ||
| pitch_motor_zero_point: 56354 | ||
| debug_log_supercap: false | ||
| debug_log_wheel_motor: false | ||
| debug_log_deformable_joint_motor: false | ||
| chassis_controller: | ||
| ros__parameters: | ||
| # Deploy geometry / chassis-owned joint intent | ||
| min_angle: 5.0 | ||
| min_angle: 8.0 | ||
| max_angle: 59.0 | ||
| active_suspension_enable: true | ||
| spin_ratio: 1.0 | ||
| wireless_charging_offset_deg: 225.0 | ||
| wireless_charging_speed_limit: 0.6 | ||
| wireless_charging_angular_velocity_limit: 10.0 | ||
| deformable_suspension: | ||
| ros__parameters: | ||
| # IMU attitude correction at min-angle stance. | ||
| active_suspension_pitch_outer_kp: 12.0 | ||
| active_suspension_pitch_outer_ki: 0.02 | ||
| active_suspension_pitch_outer_kd: 0.0 | ||
| active_suspension_pitch_outer_integral_min: -2.0 | ||
| active_suspension_pitch_outer_integral_max: 2.0 | ||
| active_suspension_pitch_outer_integral_min: -1.0 | ||
| active_suspension_pitch_outer_integral_max: 1.0 | ||
| active_suspension_pitch_outer_output_min: -3.0 | ||
| active_suspension_pitch_outer_output_max: 3.0 | ||
| @@ -140,8 +155,8 @@ deformable_suspension: | ||
| active_suspension_roll_outer_kp: 12.0 | ||
| active_suspension_roll_outer_ki: 0.02 | ||
| active_suspension_roll_outer_kd: 0.0 | ||
| active_suspension_roll_outer_integral_min: -2.0 | ||
| active_suspension_roll_outer_integral_max: 2.0 | ||
| active_suspension_roll_outer_integral_min: -1.0 | ||
| active_suspension_roll_outer_integral_max: 1.0 | ||
| active_suspension_roll_outer_output_min: -3.0 | ||
| active_suspension_roll_outer_output_max: 3.0 | ||
| @@ -153,42 +168,53 @@ deformable_suspension: | ||
| active_suspension_roll_inner_output_min: -0.785 | ||
| active_suspension_roll_inner_output_max: 0.785 | ||
| # Chassis-owned joint intent trajectory limits while attitude correction is active. | ||
| active_suspension_target_velocity_limit_deg: 80.0 | ||
| active_suspension_target_acceleration_limit_deg: 360.0 | ||
| active_suspension_target_velocity_limit_deg: 150.0 | ||
| active_suspension_target_acceleration_limit_deg: 600.0 | ||
| active_suspension_correction_velocity_limit_deg: 720.0 | ||
| active_suspension_correction_acceleration_limit_deg: 3600.0 | ||
| active_suspension_rate_lpf_cutoff_hz: 10.0 | ||
| # Automatic IMU mounting-error calibration. | ||
| # When all four requested joint targets stay equal for 2s, average pitch/roll from 2s to 5s. | ||
| active_suspension_target_pitch_deg: 0.0 | ||
| chassis_imu_calibration_wait_s: 2.0 | ||
| chassis_imu_calibration_sample_s: 3.0 | ||
| gimbal_controller: | ||
| ros__parameters: | ||
| upper_limit: -0.47123 # -27 deg | ||
| lower_limit: 0.10 # 8 deg | ||
| upper_limit: -0.60 | ||
| lower_limit: 0.10 | ||
| ctrl_hold_pitch_target_angle: 0.0 | ||
| yaw_angle_kp: 15.0 | ||
| yaw_angle_kp: 10.0 | ||
| yaw_angle_ki: 0.0 | ||
| yaw_angle_kd: 0.0 | ||
| yaw_velocity_kp: 15.0 | ||
| yaw_velocity_ki: 0.0 | ||
| yaw_velocity_kp: 13.0 | ||
| yaw_velocity_ki: 0.02 | ||
| yaw_velocity_kd: 0.0 | ||
| yaw_velocity_integral_min: -5.0 | ||
| yaw_velocity_integral_max: 5.0 | ||
| pitch_angle_kp: 35.0 | ||
| pitch_angle_ki: 0.02 | ||
| pitch_angle_kd: 0.3 | ||
| pitch_angle_kd: 0.0 | ||
| pitch_angle_integral_min: -0.5 | ||
| pitch_angle_integral_max: 0.5 | ||
| pitch_velocity_kp: 2.0 | ||
| pitch_velocity_kp: 1.8 | ||
| pitch_velocity_ki: 0.0 | ||
| pitch_velocity_kd: 0.0 | ||
| pitch_gravity_ff_gain: 4.302 | ||
| pitch_gravity_ff_phase: 0.589 | ||
| yaw_ref_velocity_gain: 1.0 | ||
| pitch_ref_velocity_gain: 1.0 | ||
| yaw_velocity_ff_gain: 0.13 | ||
| yaw_acceleration_ff_gain: 0.18 | ||
| pitch_velocity_ff_gain: 0.378 | ||
| pitch_acceleration_ff_gain: 0.0396 | ||
| pitch_gravity_ff_gain: 2.438 | ||
| pitch_gravity_ff_phase: 1.7254 | ||
| pitch_torque_control: true | ||
| @@ -200,6 +226,9 @@ friction_wheel_controller: | ||
| friction_velocities: | ||
| - 580.0 | ||
| - 580.0 | ||
| friction_velocities_low_mode: | ||
| - 530.0 | ||
| - 530.0 | ||
| friction_soft_start_stop_time: 1.0 | ||
| heat_controller: | ||
| @@ -210,7 +239,7 @@ heat_controller: | ||
| bullet_feeder_controller: | ||
| ros__parameters: | ||
| bullets_per_feeder_turn: 8.0 | ||
| shot_frequency: 30.0 | ||
| shot_frequency: 15.0 | ||
| safe_shot_frequency: 10.0 | ||
| eject_frequency: 10.0 | ||
| eject_time: 0.05 | ||
| @@ -241,7 +270,7 @@ bullet_feeder_velocity_pid_controller: | ||
| measurement: /gimbal/bullet_feeder/velocity | ||
| setpoint: /gimbal/bullet_feeder/control_velocity | ||
| control: /gimbal/bullet_feeder/control_torque | ||
| kp: 1.5 | ||
| kp: 0.9 | ||
| ki: 0.0 | ||
| kd: 0.0 | ||
Uh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🩺 Stability & Availability | 🟡 Minor | ⚡ Quick win
不要提交依赖开发机目录的默认录制路径。
auto_aim_player.input_path固定为/workspaces/RMCS/develop_ws/record/26uc-train/2026-08-03_20-51-11。该目录不在仓库中,其他开发机、CI 或机器人容器可能不存在。AutoAimPlayerComponent因此可能无法加载录制。请使用可部署的配置路径,或通过 launch 参数注入本地路径;本地专用路径不应成为共享默认配置。🤖 Prompt for AI Agents