@@ -413,16 +413,24 @@ static pbio_error_t pbio_drivebase_update(pbio_drivebase_t *db) {
413413 pbio_position_integrator_pause (& db -> control_distance .position_integrator , time_now );
414414 }
415415
416- // The left servo drives at a torque and speed of sum + dif
417- int32_t feed_forward_left = pbio_observer_get_feedforward_torque (db -> left -> observer .model , ref_distance .speed + ref_heading .speed , ref_distance .acceleration + ref_heading .acceleration );
418- err = pbio_servo_actuate (db -> left , PBIO_DCMOTOR_ACTUATION_TORQUE , distance_torque + heading_torque + feed_forward_left );
416+ // The left servo drives at a torque and speed of (average) + (difference).
417+ int32_t feed_forward_left = pbio_observer_get_feedforward_torque (
418+ db -> left -> observer .model ,
419+ ref_distance .speed + ref_heading .speed , // left speed
420+ ref_distance .acceleration + ref_heading .acceleration ); // left acceleration
421+ err = pbio_servo_actuate (db -> left , PBIO_DCMOTOR_ACTUATION_TORQUE ,
422+ distance_torque + heading_torque + feed_forward_left );
419423 if (err != PBIO_SUCCESS ) {
420424 return err ;
421425 }
422426
423- // The right servo drives at a torque and speed of sum - dif
424- int32_t feed_forward_right = pbio_observer_get_feedforward_torque (db -> right -> observer .model , ref_distance .speed - ref_heading .speed , ref_distance .acceleration - ref_heading .acceleration );
425- return pbio_servo_actuate (db -> right , PBIO_DCMOTOR_ACTUATION_TORQUE , distance_torque - heading_torque + feed_forward_right );
427+ // The right servo drives at a torque and speed of (average) - (difference).
428+ int32_t feed_forward_right = pbio_observer_get_feedforward_torque (
429+ db -> right -> observer .model ,
430+ ref_distance .speed - ref_heading .speed , // right speed
431+ ref_distance .acceleration - ref_heading .acceleration ); // right acceleration
432+ return pbio_servo_actuate (db -> right , PBIO_DCMOTOR_ACTUATION_TORQUE ,
433+ distance_torque - heading_torque + feed_forward_right );
426434}
427435
428436/**
0 commit comments