Tuesday, October 18, 2016

October Already?

Wow! Another summer has come and gone. Didn't get as much time outside with Inspiration as I had hoped but I believe some lessons have been learned and some significant upgrades have been made.

In April, we found out that the little foam wheels and continuous rotation servos driving them failed to climb over pretty much everything. It also didn't have enough power to climb hills. So we set out to find some better wheels, better motors, and better ways to mount the wheels to the motors. 

I found some motors that, I felt, had the right size, speed, and torque combination out of  Pololu's huge motor selection.  Then I picked up the 12mm Hex adapters for RC truck wheels and some aluminum motor mounts. Once I was happy with the motors and adapters, we set off to our local hobby shop King Kong Hobbies and found some tires for a small scale Traxxas truck. After the testing of these new tires and motors (shown in the previous post July Already) I needed to design the new steering brackets to mount the new motors to. I drew the brackets up in Autodesk Inventor and sent the file off  to Shapeways to be printed.
New steering brackets after printing

4 out of 6 wheels mounted

Made some adapter blocks to mount the middle motors to
A close up of the blocks
When all of the wheels were on, I noticed that the new steering arms that I made were so big that they were going to hit the bogie arms when the rover goes to turn in place. I had to dremel off about an inch of plastic to provide enough clearance.

Showing  the dremel modification 


All the wheels on

Once all of the new wheels and motors were mounted, it was time to take the body off and get down to just the suspension so I could program how the steering servos work and the speeds and direction of the wheels.

It's a mess but it works
Here's a little video of the suspension hanging from the ceiling so I could test the code. At this point I was starting to see some serious lag from me sending a command and the rover actually executing it. You can see it in this video whenever it seems to do a command for too long or when the steering servos don't continue moving and just snap back to center. 
I later found out that the Xbee transmitter and receivers are not really designed to receive a command and send info back in such quick succession as to necessitate driving and getting responses from the commands I sent. I guess I could solve this by having the Arduino just execute the command without replying back with text like "Forward" or "Turn Right". For now most of the driving is done a few feet away from the laptop so I've decided to go with a blutooth adapter instead of the Xbee. I recently found out how to have an Arduino read signals from a RC receiver and execute commands based on thumb stick positions on the transmitter. That should really give Inspiration more range and better fine control. 

This whole suspension overhaul was done over the course of about 3 weeks. Every night after work I'd come home and spend about 3 to 4 hours replacing the old suspension parts with the new ones and re-wiring all of the servos, motors, and part of the power distribution panel. It all had to be done for a fantastic event called Girls in Aviation Day put on by the Women in Aviation and Stars of the North organizations. Cristin and I took off our Stray Robotics hats and attended this event as JPL Solar System Ambassadors. We brought Inspiration there to talk to kids about robotics, Mars rovers, and being Makers. It was a lot of fun and we actually learned a few things too! 

Here's a picture of Inspiration in our little Mars sandbox:


A big thing we learned at the event was that a fully charged battery lasts about 5 hours before the Arduino shuts everything off. It's great for run time but that also means it'll die over night when outside during Inspiration's eventual mission to a gravel pit or at the Mars Desert Research Station that we are currently planning for. I think a simple clock, battery monitoring circuit, or light detector could help Inspiration sleep at night. This would allow it to be able to receive commands the next day. The power distribution panel is designed to charge the battery in the case that it's too drained to power the Arduino so I'm not too worried there. It just means a day of charging instead of driving. 

After the event we did manage to get Inspiration outside to see how it handled hills and grass. Here's a quick video of Inspiration testing its hill climbing ability. (we have a lot more video coming. hopefully next blog)


Here's a video of what it looks like sampling rocks with the metal detector. It's actually pretty tricky with one camera. You don't get depth perception which is one of the reasons I chose to mount the camera on the back so you can see where the rover is in comparison to other objects. 

Driving Inspiration around in the yard has taught me the value of  a pan and tilt camera so I think the next big upgrade will come to the camera arm. Being able to look up and down is very important when you want to see where to go. The way the camera is aimed currently is good for things up close but you can't always see the horizon so you really have no idea which way the rover is facing. Yes eventually there will be GPS and a compass but even then, it'll be really handy to be able to survey the area. The ability to turn the camera all the way around would be helpful for backing up (which, I also learned, is the best way that this suspension climbs over large objects). 

Another thing in the works is a better way to charge the battery. Either the 2 battery system I had before or a way to sleep and charge. I found out that the solar panel doesn't actually charge the battery while sitting outside in the sun. The Arduino, Xbee, and motor shield together draw about 250 mAh. The solar panel has about 200 to 300 mAh capability so when I measured the solar panel while plugged into the rover, it read about .2  volts so it looks like it doesn't have the power to charge and power the Arduino at the same time. This means the Arduino needs to sleep or there needs to be a second battery. One charging and the other in use. That setup worked great before but I thought it would be more weight on an already heavy rover that is suppose to eventually fly on a large hobby rocket. 

I guess we can always make the rocket bigger...

Anyway, that's it for now. Hope you enjoyed this long over due update. Now get out there and make something. Oh and follow us on Facebook and Twitter. There are usually more updates there.