I really thought that my efforts into this troubleshooting round were going to pay dividends, but… to spoil the result… not so much.
As you may know, ROVer has been experiencing a “jerk” or “twitch” of the primary turning servos when they first wake-up. I first thought that this was due to the SSC-32 servo controller board, but in the end found that it was the servos themselves. This appears to be a characteristic that is somewhat common to “continuous rotation” servos, among which the HS-785HB winch servos from Hitec are counted… even though we’re not using them as such.
It’s been a long road to get here, but this is the day: ROVer performs a remote turn using his fancy servos.
There was a bunch of troubleshooting, wiring, soldering …oh boy was there a lot… but we got here, today ROVer does his first remote turns as directed by the Command Center – entirely remotely controlled from the web server without any laptop connection to be seen 🙂
It’s a bit of a different sort of episode today. I wanted to talk a bit about what’s been on my mind the past little while …lessons that, while I probably already knew, were reminded to me by ROVer. Life Lessons, taught by ROVer.
My personality is such that I tend to plan things in great detail long before I get started on a project. It’s what I did with ROVer and it’s what I’ve done with most things in my life. The combination of ROVer’s complexity and the fact that I knew so little of what I would ultimately need to learn in order to build ROVer (and, of course, it’s an ongoing process), has resulted in a realization: I’ve come to appreciate that the number of things that I planned at the outset are far outweighed by the number of things that I never foresaw… or more importantly… never could have foreseen!
Yup, we’ve got the Command Center (website + web server) now capable of controlling the servo motors. It took a bit of figuring out – mostly in HOW I wanted to structure the commands. At first I thought I wanted to compute the turns based on degrees of rotation, but I soon realized that that was an unnecessary complication.
The complication results from the fact that you not only have to then keep track of positive and negative values for the degrees-of-rotation, but you also have to somehow “know” where the wheels/legs are prior to initiating a command. For example, a 45 degree command to the outside of ROVer’s chassis means something different if he’s in his “Tumbler” orientation to start vs. if he’s already in his “Wide” stance with wheels situated to the outside.