AutoDRIVE-F1TENTH v0.3.0
Summary
- Calibrated vehicle motion
- Updated vehicle parameters
- Updated open-loop vehicle control
Details
Calibrated and updated VESC parameters
for drive motor and steering servo to comply with real-world metric units for vehicle motion in terms of linear velocity and steering angle (benchmarked against measuring tape as well as OptiTrack Mocap system). Following are the updated parameters:
Drive motor erpm (electrical rpm) = speed_to_erpm_gain * speed (meters / second) + speed_to_erpm_offset
speed_to_erpm_gain: 7300
speed_to_erpm_offset: 250
Steer servo value (0 to 1) = steering_angle_to_servo_gain * steering angle (radians) + steering_angle_to_servo_offset
steering_angle_to_servo_gain: -0.6
steering_angle_to_servo_offset: 0.435
Updated autodrive
package to facilitate open-loop vehicle control with/without Gaussian noise (sampled from normal distribution).
Modified open loop controller script in autodrive
package (and corresponding launch file in racecar
package of f1tenth
) to support skid-pad, fishhook & slalom tests while accepting command line arguments for:
velocity
Linear velocity in m/ssteering
Steering angle in radvelocity_noise
Standard deviation of Gaussian noise in linear velocity (usually 0.1)steering_noise
Standard deviation of Gaussian noise in angular velocity (usually 0.1)
Updated teleop.py
script from autodrive
package with limits & step sizes for vehicle actuation.
drive
Command referes to throttle/brake/reverse input to the vehiclesteer
Command refers to steering input to the vehicleDRIVE_LIMIT
Refers to maximum limit on throttle/brake/reverse input to the vehicleSTEER_LIMIT
Refers to maximum limit on steering input to the vehicleDRIVE_STEP_SIZE
Refers to variation in throttle/brake/reverse input to the vehicle upon one press of a keySTEER_STEP_SIZE
Refers to variation in steering input to the vehicle upon one press of a keyDRIVE_LIMIT
= 2.5 (or 1.5 for slow, easy - more "controllable" experience - represented in m/s)STEER_LIMIT
= 0.52 (0.52 rad is physical steering limit of vehicle, reduce to constrain the vehicle)DRIVE_STEP_SIZE
= 0.5 (increase/decrease to get coarser/finer throttle/brake/reverse variation)STEER_STEP_SIZE
= 0.52 (or 0.26 for multi-step steering variation, reduce for finer control resolution)
Added topic throttling functionality (through mocap_data_recording.launch
file option) for synchronously recording vehicle states (via motion-capture system) and control inputs (via open/closed loop control or teleoperation) while accepting command line arguments for:
rosbag_dir
Path to the directory to save the recorded bag filerosbag_name
Name of the recorded bag file