Sunday, April 13, 2014

Rover Status - 30 Days to Go?

A post on the Yahoo Group for the Western Canadian Robot Games seems to indicate that the 2014 event won't be in May this year. That means that instead of just a month to whip the rover into shape, I have at least a month and 3 weeks, until maybe sometime in June at the earliest. That's about 50 days, and probably more like 60 days - a relief, since I'm not sure that 30 days would be enough.

The project plan for 2013 had the requirements, design, and major components selection and purchase phases. Even with all that done, this years project plan for just re-working the steering, migrating to the BeagleBone Black, and extending the I2C bus is approaching 300 work items.

As of today the major physical rework of the steering system and wiring is complete, so basically the rover is about as finished as it was in mid 2013. It's sitting on it's wheels, which are all re-wired for power and data, and it's brain is installed, waiting for software. I did a quick count of the added connectors - I hand crimped and soldered about 150 individual wires to pin socket inserts... that's a lot of work!

Over the next day or so I'll be doing some cleanup tasks and initial cable dressing - just enough to keep the data cables wrangled and not tangled. After the cabling has been tugged and tucked into position is a short-circuit test, to ensure the work up to this point doesn't go up in smoke, and it's safe to power up parts of the rover.

The first tests and adjustments will be to the steering feedback system, which will ensure the four steerable wheels can accurately move within a +/- 45 degree sweep, and return to center. If that doesn't work as it did in bench testing, it's back to the drawing board, which probably means a geared system driving a rotary potentiometer. With the new 3D printer working very reliably, this should not be a big deal, and it's probably the more correct solution.

The second tests revolve around powering up the drive motors, and sending speed and direction from an I2C based PWM generator, rather than from an Arduino directly. A critical factor here is the ability to reliably send rapid updates of PWM frequency. And by rapid I mean at least at 100 ms intervals (10 Hz) or better; I'm not breaking the sound barrier here, but a faster response is nicer.

The third bit of tuning, and possibly rework of the 2013 design, is to test and adjust the low voltage limits on the subsystem that monitors the two battery voltages, and bring it's I2C slave code into the same code base as the other modules. This is critical to begin field testing, as running the LiPo batteries lower than the recommended levels (about 3.3 or 3.4 volts per cell)  is harmful to the batteries, and ultimately an expensive mistake.

Those three items, plus some simple code for non-autonomous wireless driving, will take at least two weeks to complete. That means the first-drive of this new configuration would likely be the weekend of April 26-27th - I hope the weather cooperates! I've been to a few locations that had similar gravel as last years race location, and while they are snow-free, they are generally more mud than gravel this year.

If anyone has an indoor Mars Yard I could use it would sure save me the hassle of explaining 500lbs of sand and gravel in my basement...

Wednesday, April 9, 2014

Rover Guts

How about some pictures?

This is the rover today; the new addition being the connectors on the mess of cabling hanging over the front end. Each one of them had to be hand crimped and soldered, and that's just one end of each of the cables.

For one half of the rover.


The bogie connection on the rovers left (photo - right) side is now a beefier 0.5" dia. bearing, which goes to a 3D printed shaft that drives a 10k linear potentiometer. The potentiometer is held to the frame with a 3D printed bracket.

Also 3D printed and barely visible here is a bracket on the rear steering motor for an ultrasonic sensor; it's the bit of red plastic just behind the bogie.

Most of the changes (and recent work) are on the inside, to the rovers guts.

In the image below, on the left side, which is the front half of the rovers electronics box, are all new brains.

Visible here is a GPS unit, sitting on a blue 3D printed plate, and under that is hiding the Beaglebone Black, which is sitting on a similar plate.

To the right of that are two vertically mounted PCB's; one is the carrier/connector/I2C interface for an ADC Mux Breakout (probably from Sparkfun, it's red), and behind that an Adafruit 16 channel PWM board.

At the bottom is a stripboard that has all the I2C bus connectors and the logic level shifter on it.

The four voltage regulators are at the bottom of the image, with some temporary wiring harness for testing.

One the right side is a mess of power wiring that I have to dress. Although the only change here is the addition of 2 fuses, it made a real mess of the power wires.

It also doesn't help that the user interface protoboard isn't screwed onto it's bracket, so it's just hanging around in the middle of the bay.

Below all that are the four motor driver PCB's. I'm thinking those will have to move out to the wheels to tighten up the feedback loop for speed control. I may also add two more, so I have one per wheel; right now the middle and rear wheels on each side share one driver.

That's it for now… hopefully in the next week I'll complete the wiring and get the I2C busses powered up and start writing some code!

Tuesday, April 1, 2014

Happy April Fools Day!

International shipping has to be the biggest racket going.

As if to remind me of that fact, today, April 1st, I got a package I've been waiting weeks and weeks for. 

Possibly months.

But I saved so much cash by ordering from an overseas eBay vendor, how could I go wrong? 

After all, shipping was free, and the prices were well below retail here. How can I complain?

Simple: Lost time.

The WCRG event is probably just a month away; it's usually the first weekend of May. Now that I have the parts I was waiting for it's going to be a real push to get the rover driving again. I have the bogies off the chassis, as I'm upgrading the lightweight bearings to something much beefier. None of the chassis data wiring harnesses are done. And the main sensor mast is just an empty metal plate.


As for autonomous driving? Who knows... the rover may just show up under R/C control for fun. I'm not sure I have the time to finish it all...