I'm wondering what's the best vehicle kit for testing control/navigation algorithms. I want something with some degree of hardware abstraction (in the sense of not having to write too much i/o, opening ports, etc.), but that is low-level algorithmically speaking. Like I want something that basically gives me arrays of pixels from a camera and possibly wheel speed/inertial measurements as input and motor speed/steering as output. Not something that's oriented toward high-level programs that "glue together" existing vision/control algorithms from lots of 3rd party code. If I end up reinventing something that looks like an existing algorithm from computer vision/machine learning/control theory then so be it, but I'd like the learning experience/freedom of starting "from physics/geometry/math". I.e I'd rather spend my time as a hobbyist inventing (or reinventing) rather than reading about existing solutions/learning jargon, etc. Also as I'm not a hardware person I don't want to spend most of my time buying/assembling/addressing incompatibilities in hardware. What kit sounds best for this?
Have you looked into ROS? It will abstract the lower levels for you and take care of the inter-process communication. There are several sensor drivers available and you just need to install them to use. There are also several examples available from the official wiki and the user base is awesome!
The turtlebot3 is a good starting robot. It has, I believe, a raspberry-pi for the processor and ability to add sensors as you please with native ros support.
There is no such “best for prototyping vision algorithms” robot.
I second the ROS OS suggestion for decoupling the mobile platform from the vision processing platform.
If you want a well designed, supported, yet inexpensive mobile platform that already has a ROS node available, the GoPiGo3 has the hardware interface to motors, encoders, sensors, and camera worked out on a variety of programming languages.