University Project Arduino

An Arduino and motor drive shield (with separate power supply for the motors) is all you need to drive the motor forwards and backwards at varying speeds. You would need to provide a control input to tell the Arduino what to do, for example a force sensor on the handle (i.e. a sprung lever that operates a potentiometer). The idea would be that the operator applies a very light pull on the handle, and your system applies whatever drive force is needed to make the suitcase keep up. The key point here (IMO) is that the operator is merely pulling the suitcase in the direction they want it to move and not explicitly operating a throttle or speed controller. It should be completely intuitive, just like pulling a much lighter trolley, rather than needing the operator to consciously squeeze or twist a controller. There are various techniques to decide how much drive to apply but the simplest one is to just make the drive force proportional to the force on the handle. That is probably all you need, and would be very simple to code.