- Subscribe from topic /cmd_vel is set speed from ROS
- Take that velocity as v_setpoint, move to part 2 use PID to control motor speed.
- Publish to topic /velocity_publisher returns ROS.
- Read the number of pulses from the encoder, calculate the current speed of the robot: v_measure
- Calculate v_error = v_measure - v_setpoint
- Programming a digital PID controller including 3 components P, I, D
- Adjust Kp, Ki, Kd parameters for shortest transient time, minimize overshoot and eliminate static bias