I know I have had many posts of late related to various aspects of the Romi and implementing various features. The main reason is that this kit fits a need that we have had in our team (and I am guessing many others) since its inception. In one of those threads I was asked what made it so much better than the other kits we have tried, and could I share a bit about our experiences?
So, I thought I would post our not-so-brief history with assorted robot kits in case anyone wanted to come searching.
First a bit about me. I am a life-long tinkerer, but not an engineer: electrical or otherwise. About %80 of what I know about hardware and software, I learned from the support of the WPILib crew, robotPy crew, and CD community. I say this because any of these kits could suit your team well. But, they did not all suit us.
Our first foray into the robot-at home was the day after our first kickoff, and before I was on the team. The mentors knew that students would want to tinker at home, so some members took the rookie kit with them. By the next school day, we had a fried Rio, and a brand new Chromebook for a driverstation (the OS was replaced with Chromium).
We learned two things.
- We will be a better team if students can tinker with robots at home, and
- An element of safety and direction is necessary.
When I joined the team (the middle of that year), I learned quickly that I wanted to have something to work on at home so I did not have to stay at the school until the wee hours to learn new programming concepts (I knew HTML at that point; that was it).
We tried every kit we could, but it ended up, that most kits fell into one of two categories.
- Kits that were really good or passable), but not easy to use to teach FRC programming.
These were kits like the beaglebone blue Edu MIP, the Vex EDR kits (we have many classroom kits that were donated to us, but until this year, few students learned how to use robotic to control them), the picar-s and, the Spheros I use in class. These kits helped me learn robotics, and sometimes teach robotics, but it is difficult for students to apply the skills they use with these kits to our FRC robot. Frequently, they use different languages, or even when they use the same language (we have been a Python team, and are exploring Java currently), the way they use the language is so removed from how it works in FRC, students are almost learning to program all over again. The exception here, is this little gem from Frenove. If I get some time, inspired by team 1076 and Kuai labs (see below), I am thinking it would be easy to turn it into an FRCdrag-and-drop programmable minibot (with no encoders grr).
- Kits that are piecemeal and require an understanding of robotics beyond basic.
We tried many variations of this kit, with assorted microcontrollers (like esp32s, pyboards, etc), H bridges and even using some of the Vex parts (the motor controller 29, is incredibly versatile and easy to use). But many problems arise quickly with these kits. Though the voltage is low, you can still ruin something if you plug it in backward. Many of them use lipo batteries which are not the safest thing around. Also, a new pet peeve of mine is when you claim to have an encoder, but just give a wheel with slats. encoders for tt motors are apparently difficult to come by.
Last year, I found some kits that use WPILib or a clone directly.
These became my favorite by last summer. We have two VMX-Pis and one Titan motor controller/pdp. They are incredible. However, they are expensive, and there are some wiring considerations to go through if you do not use the TItan. The VMX can also double as a vision co-processor/imu during the season, so that is cool. With the VMX, you can use the kits above to various levels of success, but wiring is still potentially difficult (read dangerous). I did get a full FRC Pi-car S running with the VMX.
Many inexpensive microcontrollers have few protections on polarity, current overdraw, or voltage under/ overdraw. Some of the components also have narrow tolerance ranges.
Though it is easier now, installing the driver station and modifying the build.gradle is a barrier to entry for some.
There is also the Freenove kit that @eli3 and 1076 are doing an incredible job with. I think if we were to stick with Python, this is where we would be focussing our tine and energy. They have an excellent system, and all the Freenove hardware is of higher quality (the plastic bases of the Amazon kits break really easily). The advantage with all of these kits is that since they run actual FRC code, the skills are directly applicable to the season. However, until recently, installing the software was difficult for some of our members.
This brings us to the Romi. It is a one-click install software-wise, and after I solder any headers necessary, putting together the Romi is easy. They are compatible with most of the Vex hardware and other random non-tournament-legal pieces the team collected over the years, and, they just work. Easily. In a bit less than a month, we have as many members using Romi at home as we had other kits in the previous four years of our existence.
Anyway, I guess this is a long post that ended up being a bit more stream-of-consciousness than I intended, but the point is, I cannot thank all the people behind the Romi project enough especially those who have helped me get everything working and students programming robots at home.