A lot of things went wrong in Canada, sure.
But perhaps the worse of our issues were the servos.
The other day, we were planning on running a short demo during the regional RoboCup competition. We all got to school on Saturday and began putting it back together again.
However, we didn’t have four functioning Dynamixel AX-18A servos. We eventually found four functional AX-12W servos. These are faster but less torquey than the 18As.
I tested each servo and gave them the appropriate IDs. Then during the moment of truth, one of the servos began giving an overheating error. Man, this reminded me way too much of Canada.
So we decided to replace the back two servos with 18As. But, we discovered that the 12Ws were way faster than the 18As. With enough time, we could have worked out the difference in speed and rewrite the code to use the speed factor.
And so, we again took all the servos off the robot and replaced them again. This time, we found four 12As. These are like the 18As but less torquey.
And naturally, nothing worked.
I don’t even know what the problem is but seriously, the amount of servo issues we’ve had, I think we may have fallen victim to an ancient curse. We didn’t end up doing the demonstration that day, and we left with nothing but disappointment in our hearts.
Recently, I spent a couple hours testing every servo we had (16 servos in fact, with three more on the robot). Here’s the results:
That’s right, by a sheer stroke of luck, excluding the servos on the robot still, we had an equal number of working and non-working servos. We also had an equal amount of each servo. i.e. 3 broken and 3 working 18As, etc.
The issues for each servo included:
- servo not detected by the software
- servo detected but does not spin or move
- servo reports an overheating error.
- servo reports a input voltage error
- servo reports an overload error
So what do we do? We’re gonna try to fix as many as we can, because they’re rather expensive. If not, well, I guess we’ll need to buy some more.