With multiple modes using encoder input for distance instead of timers. It should have a mode that moves straight forward and pushes a tote in front, a mode that moves sideways and pushes a tote in the forks, and if possible, a three tote autonomous. It could also have other modes if you feel there is any other ones that need to be made. It would preferably use vision or other sensors for tote alignment, especially in three tote mode, through that is optional and will probably not happen. Finally, the constructor needs to accept a speed float, distance float, and a mode enum.
With multiple modes using encoder input for distance instead of timers. It should have a mode that moves straight forward and pushes a tote in front, a mode that moves sideways and pushes a tote in the forks, and if possible, a three tote autonomous. It could also have other modes if you feel there is any other ones that need to be made. It would preferably use vision or other sensors for tote alignment, especially in three tote mode, through that is optional and will probably not happen. Finally, the constructor needs to accept a speed float, distance float, and a mode enum.