This reminds me a lot of the RC cars and boats that Ive built. When I was young, the speed control was an arm turned by a servo. Depending on which of the three contact points that the arm was swung to, you got three different speeds. When I got older, I could afford ESC's, Electronic Speed Controls. These were digital and depending on the model, could start as low as 10rpm all the way to 50000rpm. I then built a Scale Crawler truck on a ladder frame and invested in an esc with programmable hill descent, hill hold, and individual locking and unlocking diffs. One of these might be able to be programmed to move forward, stop/hold, then reverse. I also may be swimming in the shallow end of the pool with regards to knowledge.