My goal for the next version is to include a list of parts and building instructions that anyone can use to build a robot with "off the shelf" parts and possibly 3D printed parts that they can print or order to have printed, but ALSO to make it such that it should work with any framework. The only requirement really should be:
1. A Raspberry Pi 4 - This is also open for people to experiment with, anything running Ubuntu 20.04 will work, but it is easier for me to target one platform for the "I tested it and it works" version.
2. A differential drive robot (not ackerman steering like a car, although in theory if ROS supports it, then a config change could accommodate it)
3. Use the Roboclaw motor controller, because there is a pretty tight link between the motor controller and whatever ROS code drives it.
After that, I feel like the rest is entirely a matter of config parameters in a file. Even the current code would work on any size or shape robot if it worked with Roboclaw instead of the Parallax Propeller boards.
I use the SLA batteries for three reasons:
1. They are cheap
2. They are very safe. It is hard to make one explode or even get very hot. Since they are gel, even puncturing one should result in very little acid release, while puncturing a LiPo battery can cause an amazing fire. (Remember those Samsung phones?)
3. They are EASY to charge, hard to damage, and don't catch fire when you do abuse them. Just slap a $10 charger on it and leave it forever. You should put a discharge disconnect on them, as it damages them to discharge them below 11.6 volts, but by "damage" I mean, shortens their lifespan, they won't catch fire like other chemistries can do.
Again, all that, and being very cheap. I have 8 of them now so I can swap them in and out of my other projects. It is very convenient.
They are heavy though, I grant you that. And I'm shy about amperage too, so I tend to limit my motors to 3 amps each. I noticed that while many motors have twice the torque of the Pololu motors, they are also only getting that at 9 amps! I have 10 am fuse on my robots, 10 amps for both motors and the Pi and everything else. Imagine dedicating 18 amps to just the motors! I would probably want to improve my wiring. Still, at 3 amps each, I don't have much trouble getting more speed than I need indoors. For outdoors, I could see it being nice to go faster, and lighter batteries would reduce the need to run high amperage to the motors.
That is all stuff that shouldn't really affect the code though.
That said, again, the battery shouldn't matter. The Roboclaw has a very wide voltage range available to it, so it is a matter of matching your motor to your voltage input.
There are some nice drop in replacement LiPo batteries for the little SLA batteries I use, but they are about 4x as expensive, and require a very expensive charger, and again, I don't want them piled up in my basement and/or left charging or discharging inside my house untended.
Probably my long term plan would be to build my own robots with the ability to swap out SLA for LiPo batteries at will, so I can keep the SLA batteries inside and have the LiPo in a safe place and only get them out for special occasions like operating outdoors or at a venue where I need long run time and lighter weight. That gets back to cost though. My experience with LiPo is that they don't have a long shelf life when ignored, like the SLA do.
Basically, my hope is to make it very easy to configure and just use the same code. Lashing myself to the Propeller hardware was something I did before I even had a 3D printer and before I knew anything about electronics. I regret now that it is so tied together, when they are discontinuing their products.
I think the Roboclaw will be my only part to be tied to next, and they are a pretty reliable company just making a product rather than a platform. Also, once I am down to ONE motor controller, and really even supporting multiple motor controllers shouldn't be terribly hard if we want to once I isolate those parts of the system to use the Roboclaw.
In short, yes, as long as you are using the Roboclaw motor controller, and probably a Raspberry Pi 4, your plan sounds good. I personally plan to have at least two entirely different robots running on it, and hope to build more. My only impetus to even make a "standard chassis" is that I know many people find my code and really want to "just build it" but have no idea how to just start designing a robot. If I can suggest a 3D printable setup using easy to order parts that are usually available along with cheap pieces available at hardware stores, then people can get things going easily without relying on an expensive discontinued platform from a company. It also makes it easier to present a video to people of a working system that they can actually replicate.
To be clear, I mean 3D printed parts combined with other materials for structural integrity, but those parts will be things any hardware store has, not just an entire 3D printed chassis.
Ultimately though, the chassis I design is intended to demonstrate that you can make pretty much any block of matter into a robot with a Raspberry Pi, a Roboclaw motor controller, and your choice of motors and batteries.
Sorry, I wrote a lot of words. Writing words is easier than actually doing stuff. :)
How does that sound?