Thursday, August 4, 2011

Oh Robot, You're a Needy Little Guy Aren't You?

I managed to make some fantastic progress with the whole wireless commanding of the robot... in fact, for the most part, that interface is done. As mentioned in the last post, I ended up going for serial commands over a TCP interface using a hacked wrt54g router and ser2net. My TCP client (Which has a joystick connected and is really the cockpit for the mower) was written in java and works very well. If anyone is interested in sourcecode, just let me know.


Isn't he a cutie?


The real challenge of late has been my revisit of powering the robot... I purchased a great cheap inverter off Amazon and tied it into the 12V batteries of the wheelchair. When I first powered it on, I thought I had just solved my last major hurdle, and was ready to attach a murderizingly dangerous spinning lawn mower blade and set this guy off to work... oh man. Thank God for testing.

I started up my TCP client and grabbed my joystick, time to tear rubber around the basement. I push the throttle forward and the robot takes off. Hold on... why is this thing beeping very loudly at me? I didn't install a speaker. Oh, its the inverter... I guess that's normal. Maybe its the robots way of communicating with me, "Let me go faster papa". Ok robot, whatever you want.... Throttle Up.... Oh good, the beeping stopped.... wait, why is the robot not stopping? Oh... Uh... Shit.

So, apparently the 12v battery does a great job at holding the robot at idle while running the inverter. The problem is, once the motors kick on, there isn't enough juice left to power the inveter... hence, my router, wireless camera and method of controlling & killing the robot remotely was lost. Fortunately, I tested with the robot in eyesight, and was able to run and hit the kill switch I'd installed on the robot itself, literally inches from another hole in the drywall.

I had thought I installed adequate safeguards incase this happened... but my command timeout was set to 4000 milliseconds. Which means, the robot will do a whole 4 SECONDS of ghost riding before shutting itself down when communication is lost. Plenty of time to drive through that wall, or demolish a family of bunnies. I'm changing the timeout to 50ms to prevent this mistake again.

As for my power situation, I'm going to get a cheap 12v 7ah battery on this thing to run my electronics... separate from the motor batteries. Hope it's enough to power an inverter.

Also, I've decided what I really need is more views of the robot while its cruising. So I decided to customize my own wide angle web cams. I bought a couple door peep holes from amazon for 6.99 that I'm going to hot glue to some old web cams I have stashed around, and send the USB commands over Ethernet back to the base station using this nifty gadget microcenter has on sale.





For now... the beast sleeps in the basement, ready to rise again soon.

No comments:

Post a Comment