Monthly Archives: October 2013

Parkerbot

The latest version of the rover is called Parkerbot.  Parker’s favorite game is to chase a light across the floor and that is exactly what the rover does now.  However, the rover doesn’t knock over furniture, step on my toes or fling spittle across the room as it moves around.  Maybe I’ll add those features later on.

During my tests last night I had to lock Parker out since he kept jumping right in the middle of the game and chasing the light himself (and stepping on the rover in the process).  Apparently he thinks that the new, funny looking dog shouldn’t have all the fun.  Unfortunately I can’t post any video of these tests since the room had to be pretty dark to give the best results.

Last night I fixed the problem that prevented the wheels from moving.  After that, it all came together easily.  The rover now moves quickly and consistently across hardwood and carpet.  Using two photoresistors mounted in the front, it constantly moves toward the strongest source of light.  From a technical perspective, this is big news since it demonstrates a closed-loop guidance system.

Tonight, my friends at USPS should deliver my new high-capacity battery pack and I can start working on the Mark II version.  Rover B Mark II will have an ultrasonic range finder and the Pi will be hooked in as the master control unit.The rangefinder will allow me to do obstacle avoidance and the Pi, with its wireless connection, will give me a remote override capability.

The First Rover

(Originally posted Oct 20, 2013)

Here’s the almost-completed rover testbed.  The wheels, motors and two black acrylic decks came in a kit and were the starting point.  From there, I soldered in the motor leads and built the white acrylic decks for holding the electronics.  On the first level, you can see the breadboard with a few sensors on it, the Arduino Uno and Motor Shield and then a 4 AA cell battery pack.  On the top level, you see the Raspberry Pi (which isn’t hooked up yet) and an 8 AA cell battery pack.  The 8 pack will be replaced soon with a modular USB battery pack which is supposed to arrive this week.  All the bits and pieces are secured to the decks with Velcro, which should withstand the blistering speeds the rover will reach.

  

Not shown is the Wireless USB stick that will provide the comm link

Unfortunately, it isn’t quite operational yet.  I can’t get the motor shield to send voltage to the drive motors.  I suspect that I “de-optimized” (i.e. broke) the motor shield as I was soldering and testing it.  I’ll be troubleshooting that this week.  Hopefully it is just a mistake in configuration and I won’t have to buy a new shield.

Once I get this all working, I can start trying out different guidance mechanisms.

The Chassis Arrives

(Originally posted Oct 16, 2013)

The vehicle chassis for my prototype rover-bot arrived yesterday.  I ordered it from a company in Australia but it arrived with customs stickers showing that it came from China.  On the customs form, the contents of the package was simply “Gadget”.

sku_152992_1[1]  sku_152992_6[1]

A Bunch of Parts Waiting to Become a Robot and the Completed Chassis

Regardless, it was exactly as advertised and all the pieces were there.  Teri and I spent the evening assembling the chassis, soldering leads to the motors and then testing the current draw on each of them.  After finding the most closely matched pairs of motors and mounting them on opposite sides, we  let the vehicle run across the room (unguided) and it went straight and true.

The next step is to take the “light chaser” circuit and code from the Model A Mark I (i.e. the simple plastic box with two motors & wheels hot-glued to the bottom) and transfer it to this chassis.  That will become Model B Mark I, which will be the testbed for development.  Once that is working, I’ll start adding sensors and cameras.

This chassis is too small to be the final product but it will allow me to do a lot of R&D so I can properly design the Model C.

The Littlest Robot

While my end-goal remains the same – to build an awesome, fully autonomous rover – the tutorials all say you should start small by building something extremely simple.  So that’s what we did.  Using parts from around the house, a couple of wheel assemblies and the Arduino, we built a very simple-minded light-chaser.

20131013_170655

 

Believe it or not, this isn’t part-way through construction.  This is the fully completed robot.  It isn’t pretty but it works.  Sorta.

 

 

The Arduino Arrives

(Originally posted Oct 10, 2013)

Yesterday I got my starter kit for the Pi and today my Arduino and its kit arrived. Christmas two days in a row!

Sidebar – Yeah, three of these posts in two days is a bit much.  It will slow down after this, I promise.  But there is a vast readership that is following the development of my robot and they are clamoring for the latest developments.  (If anyone wants to buy me a dictionary for Christmas, I can look up the meanings of “vast” and “clamoring”.  It is possible I am misusing those words.  What I meant to say is that there are four people who are willing to read my ramblings while the Daily Show is at commercial and I don’t want to leave them hanging.)

The Arduino and Breadboard mounted on an acrylic plate

In the above picture you can see the Arduino running a program that cycles a multi-color LED through its paces.  And in the background you see the Pi still faithfully running its program from last night, blinking red then green.  So right now you’re thinking “Blinky lights yesterday and blinky lights again today.  Is this guy a one trick pony or what?”

You have to crawl before you can walk and you have to walk before you can run headlong into a wall.  So get out of my way… I’m busy crawling here.

In all seriousness, I’m going to draw a parallel between this type of learning and learning martial arts.  At our annual instructor’s seminar this summer, Grandmaster Buell was reviewing one of our fairly basic self-defense sequences and he made a comment that really stuck with me.

“There’s a lot of information here if you understand martial arts.”

That’s how it is with blinky lights.  That is a huge first step on the path to doing more interesting things and there is a lot of information here if you understand computing.

You shouldn’t hear anything from me on this topic for a little while.  I need to spend several days working on the Pi and Arduino tutorials and getting comfortable with delicate little electronics that have incredibly small writing on them.  Do the good folks at Mt Palomar Observatory make a handheld magnifying glass?

A Piece of Pi

(Originally posted Oct 9 2013)

My Raspberry Pi Experimentation Kit arrived in the mail today so I spent the evening getting it all setup and doing my first project.

BRADLab – Brad’s Research And Development Laboratory

In case you’re curious, the items in the picture are (working clockwise from the upper left):

  • A powered USB hub with keyboard, mouse, flash drive and wireless USB attached
  • The Pi itself in its plastic enclosure.  The wires coming from it are USB, HDMI, power and the ribbon cable.
  • A cheap multi-meter.
  • The project breadboard with two LEDs and two resistors attached.
  • A keyboard (I bet you figured that out on your own)

The project was simple – write a Python script that turns on the green LED for one second, then the red LED for one second, then the green, the red, etc forever.  You can’t see the blinking lights in the picture so you’ll have to take my word that it works.

I went slow just to make sure that I didn’t hork anything up but it was really very simple.  Coding the Pi can be done with the keyboard & monitor I have hooked up but to make it easy on me, I set it up so I can access the Pi remotely from my laptop.  That way I can do most of my typing from the comfort of my couch.

Okay, this isn’t too impressive so far but it proves that the Pi, the breadboard and the development environment are all working and that is a good start.  Tomorrow I’ll start working through some more of the tutorials.  The Arduino will arrive in a few days and I want to get a good start with Pi before it gets here.

A Chronicle of my Robot Building Adventure

(Originally posted Oct 8, 2013)

I’m starting a new hobby!  For years, okay decades, I’ve wanted to know more about electronics and robotics.  As a computer programmer, some of my most satisfying and fun jobs have been those where my software interacted with devices in the real world.  There is just something satisfying about writing code and watching it affect something in the real world.  After watching the recent advancements in small computing and the wealth of knowledge available on the intrawebs, I finally decided to get off my rear and actually do it.

I am going to build a robot.

When I told my wife Teri about this new endeavour, she encouraged me to write about it as I go.  First, she knows I like writing but she also thought it might be interesting to our adult children, any future grandchildren and even my future self.  And if you throw in the handful of friends that are technically oriented AND patient enough to read my ramblings, the readership for this blog could zoom up close to double digits!

I can hear what you’re thinking… “Build a robot, eh?  Isn’t that just a tad ambitious for a software guy that doesn’t even know which end of the soldering iron to hold?”  Yes.  Yes, it is.  But go big or go home.  Or as I like to say – “If something is worth doing, it is worth overdoing.”  Admittedly, I am starting from ground zero where it comes to electronics.  It will take me weeks/months to work through tutorials on basic electronics and fundamentals of microprocessor programming.  That’s okay.  The whole point is to learn something new that I’ve always been interested in.  The goal isn’t the robot.  The goal is learning how to build the robot.

While the first order of business is gathering all the basic supplies and working through some electronics tutorials, it is good to have an end goal in mind.  What kind of robot should I build?  Obviously this robot from the movies should leap to mind pretty much immediately.  (The first person to point out that this is a cyborg and not a robot gets the Pedant of the Year award!)

Terminators display a superb level of commitment to mission completion

Pros
It would be a freaking Terminator!  That would be awesome.  Plus, the starter electronics kit I have on order has some red LEDs that I can use for the eyes, so I’m almost halfway there, right?

Cons
Terminators tend to leave a trail of death & destruction behind them.

Okay, maybe a Hunter/Killer robot from the future isn’t the best conceptual model to start with.  How about a nice robot who loves nothing more than helping humanity and whuppin’ up on bad robots?  Optimus Prime and his crew of Autobots are unquestionably Good Guys and sometimes keep the level of destruction to a minimum.

Optimus Prime in both of his configurations

Pros
If Earth ever gets threatened by evil robots from Outer Space, then I will definitely get a spot on the evening news after my robot saves the planet.  Plus, he turns into an 18 wheeler which can come in very handy when helping people move.

Cons
Not only is this a bipedal walker and a wheeled roller, it is also capable of air and space flight.  Multiple transportation modalities may be a bit of a stretch for current human technology.  Plus, I would probably get into trouble with the Teamsters since he is (sometimes) an 18-wheeler and I don’t have my union card or CDL.

Looks like I have to continue the search.  The next candidate is less well-known in popular culture but trust me, it is a robot of the highest caliber.

The Bolo Mark XXXIII Planetary Siege Unit is the top of the line in cybernetic defense platforms.  The Bolo is fully autonomous and capable of strategic self-direction. Far bigger than the other two candidates, the Mark XXXIII masses 32,000 tons and sports three fully independent 200 cm HellBores.  As far as I know, no-one on my block has one yet.  Not to brag about my ninja-like powers of observation but I would have noticed one in my neighbor’s backyard.

When your planet is under siege, who you gonna call?  Bolo!

Pros
Bolos are unswervingly loyal to humans and fire a plasma bolt traveling at 97% the speed of light from their 200cm HellBore.  (If you don’t understand why that is a pro, then you definitely need to read more science fiction.)

Cons
Talk about “rollin’ heavy”.  This beast is strapped.  The ATF and CSPD will be way up in my grill when it starts rolling around Colorado Springs with HellBores and triply redundant fusion reactors.

After weighing the pros and cons of each, it looks like Terminators, Autobots and Bolos may not be good choices for my motivational design concept.  Don’t get me wrong, each of them is very cool and would make fine projects later on but right now I need something that doesn’t require unknown technologies, time travel or unobtainium to build it.  It would also help if I could keep the budget under $1000.  I’m pretty sure that even the smallest component on any of those guys would break the bank.

Instead of fictional robots, perhaps I should look closer to Earth, or perhaps Mars, for my robotic role model.  I have always been a fan of space exploration and the most successful space missions in recent years were Mars rovers Spirit and Opportunity. Those two plucky guys did a lot with a little and exceeded expectations.

Spirit and Opportunity were “peaceful” explorers (according to NASA)

While I’m not going to send my robot to Mars, I want it to be similar to these two intrepid craft in that it will be an autonomous scientific explorer.  It will have a variety of sensors installed and be capable of lengthy periods of self-guided action coupled with remote control when necessary.  It will sport a robotic arm for picking up survey samples and a way to communicate with Mission Control (me and my laptop) the entire time it is active.  My goal is to navigate a path at least ¼ mile in distance, retrieve a sample and return to base.

So what’s next?  I haven’t gone into any details on the design but I’ll give you a hint, I’m checking the mailbox everyday for some components I’ve ordered.  I already have a Raspberry Pi and I’m waiting on an Arduino and an Arduino-compatible motor shield. The Pi will provide Guidance and Nav functions while the Arduino will provide Control of the sensors, actuators and motors.  For those of you in the spacecraft and/or robot biz, that completes the Guidance, Nav & Control triad.

Once the parts start arriving, I’ll start with some small projects and work my way up to more complicated ones.  Eventually, I will be able to build the vehicle I described above. Along the way I’ll post pictures, video and commentary of each project.

Sounds like a big task, right?  Yes and no.  It isn’t like this has never been done.  It just hasn’t been done by me.  Will I succeed or will I just end up with a pile of parts on my kitchen table?  Stay tuned and find out.