We finished assembly of our chassis today and started testing it.
Our first observation is that while the robot was very fast, it is
difficult to control at low speeds.
We started talking about how we could make the controls more manageable.
At the recommendation of Mr. Porter, we looked at several different methods
of mapping user input to motor speeds Here is some of what we looked at:
Our first attempt used a linear control mapping. It maps the joystick input directly to the motor speed. We found this to be far too fast.
We looked at logarithmic functions next. This didn’t look particularly appropriate for a drivetrain, so we did not spend a lot of time with it.
Next we squared the driver input. This produced a nice curve that would allow us to ramp speed up more slowly. Unfortunate, it also meant that we would have to multiply by the sign of the user input if we ever wanted to go backwards.
Cubing the driver input produced a somewhat nicer curve than squaring. It was a little easier to drive, but not much. Not needing the sign term in the teleop was nice.
We tried $x^5$ as well. It was not noticeably different than $x^3$, so we figured we could end or exploration of quadratics here.