1313from your_package .knowledge .vehicle .dynamics import pedal_positions_to_acceleration
1414from your_package .hardware .vehicle .gem import GEMInterface , GEMVehicleCommand , GEMVehicleReading
1515
16+ # CHANGE THIS BETWEEN RUNS
17+ PRESET_BRAKE_POS = 0.1
18+
1619class BrakeTestRecorder :
1720 def __init__ (self ):
1821 rospy .init_node ('brake_test_recorder' , anonymous = True )
@@ -37,27 +40,24 @@ def run_test(self):
3740 reading = self .gem .get_reading ()
3841 rospy .loginfo (f"Current speed: { reading .speed } m/s, waiting for { self .target_speed } m/s" )
3942
40- while reading .speed < self .target_speed - 0.5 : # Allow 0.5 m/s tolerance
43+ while reading .speed < self .target_speed - 0.1 : # Allow 0.1 m/s tolerance
4144 rospy .loginfo (f"Current speed: { reading .speed } m/s, waiting for { self .target_speed } m/s" )
42- time .sleep (1.0 )
45+ time .sleep (.1 )
4346 reading = self .gem .get_reading ()
4447
4548 rospy .loginfo (f"Starting brake test from { reading .speed } m/s" )
4649 self .start_time = rospy .get_time ()
4750
4851 rate = rospy .Rate (1 / self .test_interval ) # 10 Hz for 0.1s intervals
4952
50- # Initialize with current state but zero accelerator and full brake
51- brake_position = 0.0
52-
53+
54+ # Set brake Position once per Tests
55+ # measure deceleration from 8.33 m/s to 0 m/s at that brake psitions
56+ brake_position = PRESET_BRAKE_POS
57+
5358 # Continue until vehicle is nearly stopped
54- while reading .speed > 0.5 : # Consider stopped below 0.5 m/s
59+ while reading .speed > 0.01 : # Consider stopped below 0.01 m/s
5560 current_time = rospy .get_time () - self .start_time
56-
57- # Increase brake gradually
58- brake_position += 0.1
59- if brake_position > 1.0 :
60- brake_position = 1.0
6161
6262 # Create and send command with full brake
6363 cmd = self .gem .command_from_reading (reading )
@@ -110,4 +110,4 @@ def cleanup(self):
110110 except rospy .ROSInterruptException :
111111 pass
112112 except Exception as e :
113- rospy .logerr (f"Error in brake test: { e } " )
113+ rospy .logerr (f"Error in brake test: { e } " )
0 commit comments