Tuesday, November 7, 2017

The Blog Is Moving

Hello again!

After a long and busy summer, I've managed to post another blog update. Said update, however, is on the Stray Robotics website. This will probably be my last post on Blogger. From now on, all of my blog posts will be here: The Stray Robotics website

Currently the site isn't much but hopefully that will change this winter. See you over at the website and remember to get out there, have fun, and make something!

Tuesday, June 6, 2017

Busy Summer

The past couple of months have been pretty busy for Inspiration. 2 almost back to back weekends demonstrating as JPL Solar System Ambassadors at the Science Museum of Minnesota and then at a YMCA in Wisconsin. Very fun and exciting opportunities! I even decided to start letting kids drive Inspiration around on the table! Really scary at first but most of the kids surprised me with how quickly they figured out the controls and understood how the commands were being processed by the micro controller. A few others seemed hell bent on destroying it. For the most part, though, it was pretty fun and I really enjoyed watching kids light up when they recognized how the code worked that was coming up on the screen while they sent commands to the rover.

Here's some pics from those events. If you recognize your child (or yourself) and would like the picture removed or credit for the pic, just let me know.

This girl was amazing! She totally understood what was going on and probably knows more about code than I do.
She lit up when she saw the code and immediately grabbed her friend who she started talking in Spanish to about it.
I was super impressed and would love to know where this kid goes in life.

This was one of the first kids that I let drive. 3 years of  really hard work in the hands of a young boy. I may look calm,
but inside I was freaking out. He did a great job though and my nervousness quickly went away when it only took him
a few button presses to figure it out. I would love to let more kids like him drive.

Inspiration meets Curiosity. Thanks to the JPL Spacecraft 3D app, you can do augmented reality with JPL spacecraft. 

Once the demonstrations were done, I decided to look into how the battery was being charged by the solar panel. I quickly realized that it wasn't. The solar panel is capable of about 200 to 300 mAhs. Just sitting there, the rover draws about 200. So the solar panel really wasn't doing much. The nice thing is though, that Inspiration can sit for about 4 hours before dying.

I decided to go back to the 2 battery system where the rover drives on one battery while charging the other and then switching as one battery is drained and the other is charged. Theoretically it should keep Inspiration running as long as there are sunny days. However, I found out the code for such a change over can be tricky. Also, the discharging battery drains faster than the other can be charged so there ultimately the rover would be dead after about 24 hours.

Here are some tests that I did while at work a few weeks ago. I was trying to get the code right and also collect data on how long it takes to charge and discharge.

This was the setup I had going outside of work and I monitored the battery voltages from my desk

Unfortunately the sun wasn't out all week so I had improvise with this setup under my desk.

First test showed one battery powering the Arduino and Xbee shield and the other being charged.

This test showed what happened in my code when the 2 batteries became equal in voltage.

This was a successful test of the batteries charging and discharging. 

After these tests I decided redesign the power distribution system and get a few new things to help with better charging capabilities.

A new relay. This relay uses a lot less power to actuate the switches and each relay can switch 2 circuits at once. This should work well for the 2 battery system.

To manage the power system I decided to get an "Arduino" Nano V3. This little guy will stay on all the time and be able to monitor the batteries, solar panel, and communications so that it can properly distribute power. It will be running the code for charging and discharging. It will also be able to turn off the rover at night or in low power situations. It sips power so having it on all night shouldn't be a problem. 

A few other changes I made were to move the camera up front and change how the metal detector arm works. Here is the final product of that change:

After all of this weight got moved to the front, I needed a counter weight in the back so I printed a battery holder for the back. I think it actually makes the rover look better now.

Now the current situation is that Inspiration will be traveling with us to Tucson for Spacefest VIII. So once I got all of the changes made, I had to make a box and ship it.

Inspiration in its "Launch" configuration

Made a foamcore box to put it in for shipping.

And the final package complete with duck tape handles and ready to be stuffed in another box and shipped.
That's about it so far. I will try to post more after Spacefest and show you guys what it was like. If you've never been, I highly recommend it! Stay tuned and have fun!

Monday, April 10, 2017

Parts List

In this blog post, I've decided to do something that feels a little personal but probably useful to anyone building their own rover project. It is a (mostly) complete parts list a long with current prices and where I got them. This list doesn't include all of the parts I tried and ultimately didn't use. This is just a list of what is currently on Inspiration. The Amazon links are my affiliate links so if you end up ordering something from the Amazon links, I'll get a small commission (at no cost to you of course). The other links are just simple links to those pages. The link for the Radio Shack solar panels is broken. I can't find them anywhere on the internet so I couldn't update the link.

This post is to show (mostly) what all has gone into this project and how quickly parts add up. This was supposed to be a simple and cheap project but as the years have gone by, new, smaller, and more capable products have come out so I've crammed as much stuff into this rover as I can without it getting too big and heavy (I still want to launch this thing ya know). 

After many tests outside, the rover has grown in size to accommodate hills, rocks, and anything else in its way. It's still growing actually. I'm in the process of finally adding the ability to tilt the camera up and down as well as giving the metal detector more reach. I also plan on going back to the 2 battery system and have an Arduino Teensy serve as the brains of the power distribution system. That way the main system can be off at night or for efficient charging while the power sipping Teensy monitors sunlight and properly distributes power. 

So enjoy the grocery list and I really hope it helps for anyone out there working on their own rover project. Feel free to leave a comment if you know of something better that I should be using or struggles you may have had with something. I'd love to hear how your projects are going!

If you haven't already, follow along on Facebook, Twitter, and the website www.StrayRobotics.com (which needs work).

Parts Price Quantity Total
Amazon orders

Motor Driver $5.50 1 $5.50
Temp. Sensor $6.79 1 $6.79
Darlington Transisters $8.27 1 $8.27
Metal Detector Pinpointer $35.39 1 $35.39
Arduino Mega $27.24 1 $27.24
GPS $17.66 1 $17.66
Relays $7.99 1 $7.99
5/32 tubing $6.09 1 $6.09
Sonic Range Finder $6.95 1 $6.95
sub-micro servo $14.70 1 $14.70
Battery Charger $21.95 1 $21.95
Li-Ion Battery $19.99 2 $39.98


5V Regulator $10.95 2 $21.90
motors $17.95 6 $107.70
Motor Brackets $4.95 6 $29.70
Motor to Wheel Adaptors $3.95 3 $11.85


XBee Kit $95.95 1 $95.95

Hobby Wireless

Wireless video system $35.99 1 $35.99
Wireless camera $26.99 1 $26.99

Radio Shack

6v Solar panel $21.99 2 $43.98

McMaster -Carr

3/8" Aluminum tubing $18.30 1 $18.30
1 pack of Retaining rings $10.77 1 $10.77

Ace Hardware

Snap Ring Pliers $15.99 1 $15.99
24x36x1/8 Acrylic sheet $25.99 1 $25.99

King Kong Hobby

Ultra Plugs $3.19 3 $9.57
Wheels $29.99 3 $89.97
High Torque Servos $34.99 4 $139.96
RC Transmitter/Reciever $229.99 1 $229.99 Optional


3D Printed Parts (estimated) $150.00 1 $150.00

Friday, January 20, 2017

New Year. New Post

It's a new year! Holidays are over and life is finding weekends to fill. I have to admit, I've been taking some time off from rover things. I think the winter season has left me uninspired and not really motivated to make drastic changes on Inspiration. It seems like every year I come up with a better way to power the rover or a better way to have the steering and suspension work. This year is no different and I just haven't been motivated enough to start the large amount of work that I want to accomplish.

I did some tests before the sun went away for the winter and found that 1 battery just isn't going to work. Problem is you can either drive during the day or charge during the day. You can't do both. Even just sitting idle uses up all of the power from the solar panel. The rover would have to sleep during the day in order to charge itself. I think having 1 battery charging while the other is used for driving will be the best option. It'll be heavy but so far it's the course of action that is needed if the rover is to be useful to myself during the eventual rocket flight that it was made for or the possible scientists at the Mars Desert Research Station this summer.

It seems the more I try to eliminate wires inside the rover, the more I inevitably put in. Things are getting pretty tight inside the body so there is a chance I may design a bigger one. With this change, I might as well design the camera to mount in the front with a good pan/tilt system on it so a person can actually see the rocks that they are sampling without the whole body getting in the way. I originally designed the camera in the rear so I would get some idea as to how far away something is. Unfortunately when approaching rocks, you can't see them until you notice the sudden jerk of hitting it.

With all of the weight of the camera and metal detector arm up front, I figure I'll have to design in some battery compartments in the rear of the new body to counteract the weight up front. At this point, the rover won't look anything like what I originally started with so should I continue to call it Inspiration? At what point is it a new project?

As you can see, there's a lot to think about and it kind of becomes overwhelming. I'm also trying to spend the winter remodeling the shop before the summer months ultimately compel me to work on the yard and make sure that the house will stand another winter.

Too much to do! Cristin and I would love some help with this whole rover thing. If you have any skills in coding, designing, electrical, arduino, or GUI's and would like to help, just let us know. I started this year thinking it might be possible to assemble kind of a dream team to get this rover officially done this year. I really hope that happens. Unfortunately I can't pay anyone so this team will have to be made up of people who have just as much passion for Mars rovers as I do. I like to think there might be a little magazine article written about us one day. You never know. This rover project has gotten me some pretty awesome experiences so far. I would love to share it with others if I can. Doesn't matter where you are in the world. This project can be added to by anyone. Most of the work that's left now is proper coding, GUI, and some 3D printing. If you think you can help, just let me know. I'd love to hear from you!

twitter @strayrobotics

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!