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.

Saturday, July 9, 2016

July Already?!

Wow, this summer is moving fast! Let's see, where did I leave off? Oh yeah, the Mars Desert Research Station rover project. We have a few obstacles for getting the new rover done so we've been testing the capabilities of Inspiration so at least they would have something to do rover experiments with. Here is a video of us testing Inspiration on some rocky hilly terrain we found up on the iron range to best mimic the terrain that would be found out in Utah.


During this test, we found that inspiration just doesn't have the power or wheel base to do much of anything when it comes to hills and rocks. I've decided to upgrade the wheels and the motors to give it a lot more capability. These new upgrades are going to be heavy so I may switch back to this setup whenever we get around to launching it in a rocket. For now, however, Inspiration needs to be much more user friendly and able to climb over whatever the MDRS team needs it to climb over. 

One potential upgrade came in the mail a few months ago. That is the EZ-B board by EZ-Robot

 It has so many possibilities and it's very user friendly compared to the Arduino board that is currently in Inspiration. Unfortunately, it's also a whole new system that I would have to test, learn to program, and completely redesign the power distribution of Inspiration. I just don't have that kind of time so for now, we'll be sticking with the Arduino and its shields because most of the programming is complete and I know it'll work for what the MDRS crew needs.

Another thing that happened a few months ago was the Wings of the North museum open house that I mentioned in the previous post. I left the Stray Robotics stuff at home and participated in the event as my NASA JPL Solar System Ambassador alter ego. I created a nice little display for Inspiration to drive around in as I talked about rover missions on Mars, current NASA programs, and other robotic projects that JPL has going on. It was a lot of fun and got several kids excited for robotics.
 





Inspiration found a new friend at the museum open house
Recharging the batteries while watching a Mustang starting up
Shortly after that, we took a trip out to Chicago to visit with some friends and family. 
Had to drive down Lake Shore to kind of feel home again
Hanging with our friend Mark of the Fury Theater company
Then, about a month ago, we scored some free pavers at a garage sale and decided to do a little landscaping. 



After that, was a trip to Tucson for Spacefest! This was probably the best Spacefest that they've put on. There were so many great talks on space subjects from professionals in the field. People like David Levy who helped discover the Shoemaker-Levy comet that smacked into Jupiter, Alan Hale of the Hale-Bopp comet fame, Apollo astronauts, and a whole bunch of other people that you find on different Discovery Channel shows. So much fun to spend a whole weekend talking with them and space authors and artists! It's an almost indescribable event that a person just needs to experience. We met with so many old friends from around the world and met so many more new ones. A truly amazing experience!


Hanging out with friends, Geoff Notkin and Steve Arnold of Meteorite Men 
Cristin having fun with
 artist Michelle Rouch
Cristin getting to talk with Apollo astronaut Rusty Schweickart
about space law.
Apollo 13 astronaut Jim Lovell giving fellow
astronaut Jim McDivitt a hard time
about it being his birthday.
Cristin showing Apollo 13 astronaut Fred Haise a project
her co-worker's son put together. 
Our view from the room at Star Pass Resort
that was hosting the event.
And our first time seeing a Javelina

Back home after an amazing trip, we started working on Inspiration again. We picked up the new wheels and motors that will be replacing Inspiration's current foam wheels and continuous rotation servos. I hot glued the new motors and wheels to a bread board, strapped on the Arduino with its shields and battery, and went outside to see how fast and powerful the new setup will be.


I think this is going to work just fine for the MDRS crew. It'll be just fast enough to keep up with someone walking yet still powerful enough to climb some small hills. My next step is to design the new suspension parts that these new motors will mount to. I'm trying to make them out of aluminum for strength and a lower center of gravity. Since I don't have any way of machining aluminum, this could take a little while. But stay tuned and check out our Facebook page for more updates. Now get out there and make something!
 



Monday, March 28, 2016

(Not so) Small update

Ok I'm back. It's been a while but I'm still doing some pretty awesome things. First let's recap the past couple of months. We built a huge work bench for the shop. Here's some pics:

Cristin cutting the boards for the new work bench
The new work bench! Only 5 more to go.

The work bench turned out great! (The top isn't attached to the legs yet but we'll get there.) It's huge and stands about elbow height so no need to bend over or be uncomfortable while working. 

This table has been very busy this winter. I decided to change a bunch of things on the rover to make it more user friendly and programmer friendly as well. I changed out the Pololu Maestro servo controller for a 16 channel servo controller from Adafruit. The programming for this is pretty straight forward and easy to understand. I haven't figured out how to change the servo speeds yet with it though. Something about changing the pulse width in the programming. So far the things I've tried in the program haven't done anything. The servos still move at full speed. Because of this constant adjusting of code, I decided to find a way to program the Arduino wirelessly. Adafruit again had what I needed (I really should almost ask for a small sponsorship since most of the electronics have come from them). They have a great product that provides a bluetooth serial link between a PC and an Arduino and allows for wireless programming. Unfortunately I could never get the programming part to work but the bluetooth capability is amazing and it opens the rover up for mobile apps for demonstration purposes. 

Once I got the new servo driver and bluetooth adapter working, I decided that there was a big flaw in my design for having 2 batteries for the rover to switch between. Since changing from LiPo packs to solid celled packs (for safety sake), I lost the extra wires that the LiPo's have that I was going to use for sampling battery voltages. So I needed a way to measure battery voltage with the arduino while using the battery and while the other battery was charging on the solar panel. It just wasn't going to work with my setup anymore because of the way I had things wired. The other problem was how much heavier these packs are compared to the LiPo's. It was causing the rover's suspension to sag and the wheels to tilt in. I decided I needed to redo the power panel for 1 battery. I spent quite a few hours drawing the circuits and re-soldering everything. Eventually I put together a pretty simple circuit where the battery and solar panel feed into the main power board where there is a voltage divider that turns voltage from the battery and solar panel to a safe under-5-volt range for the Arduino to measure. The solar panel is toggled on and off with a relay so when the battery voltage reaches just over 8 volts, the solar panel will turn off and then turn back on again when the battery voltage gets below 8. The Arduino stays on all the time and can toggle the camera, motors, and metal detector on and off depending on batter voltage. This process I managed to test on my lunch break a few days ago. 

Solar panel and battery powering the Arduino which is talking to the laptop
Showing that the battery can actually charge while the Arduino is on and talking

Judging by the time it takes to charge, which was 0.04 volts in a half hour, I figure if the rover were to just sit and do nothing but communicate day and night, the battery voltage would get below the necessary 5 volts for the Arduino to stay on, after about 3 days. So my next step is to develop a way for the rover to sleep at night. Either through programming or a circuit with a photo resister in it. 

But first, I need to still upgrade the metal detector arm because it no longer reaches the ground and also add a new pan and tilt camera mast (once again from Adafruit. Check 'em out if you haven't!) so I can look up while trying to navigate using just the camera. 

These upgrades should probably happen before the Wings of the North Museum grand opening events in early May that I have been asked to show off the rover for as part of a space related display. This should be a lot of fun! I actually just figured out a way to drive the rover using a gamepad to make it easier for people to drive it if they wanted to. I just downloaded a simple program called JoyToKey that converts button presses to keyboard commands. Super easier and makes driving the rover a breeze! 

And in other news, this rover project may have to get put on hold a little bit while Cristin and I work  on another rover project for the...Mars Desert Research Station! Big project that we got asked to do last week by friend who is participating in research out there. It'll involve a similar rover but a little bigger and able to drop off a small "CubeSat" to study plant growth and then follow the teams on EVA's. The rover will be driven by a team member inside the habitat module and then as a proof of concept, it'll be able to be driven by Cristin and I from the University of North Dakota's Lunar Habitat module. This is going to be awesome! We'll be driving the rover from 1000 miles away! I might start a new blog for this project so everyone can follow along. The plan is for the team of scientists to be out there around March of next year so we have just less than a year to have it done. In the mean time I will be trying out new products like EZ-Robot's kit and also testing the crap out of Inspiration to make sure the concept of this rover will work. So stay tuned!