Tuesday, September 25, 2012

What I Do at Work

This summer I have been working at a small company called Wells Research doing engineering design work. The company builds testing equipment for the optics industry.  The stuff that I am working on is really cool and I wanted to share a little about my experiences with the world.

Currently, I am working on a project to control a motor.  The motor controls the y position of a linear stage. Normally this setup is used to move a camera back and forth to adjust the focus.  Over the past month, I have been able to successfully model the position of the lens with MatLAB code.  The input of the system is kind of an odd function.  Instead introducing a force, the feedback control is done by inputting a trapezoidal or triangular velocity profile into the system's state space.  The input is essentially a curve that accelerates to a certain speed, holds that speed and then decelerates.  This tells the dynamic system to move a precise distance and then decelerate rapidly. It works quite well.

The biggest problem that I had was determining how the computer sends a signal to the motor.  There are constants that are defined in the program and the motor has a specific code developed by the company that gives it commands.  Determining what number to input in order to get a specific result was rather tricky, but eventually, after a lot of testing, I was able to get a suitable result.

The precise motor position was analyzed with an eddy current sensor.  I thought it was rather cool.  I attached a steel block to the top of the lens mount and then faced the sensor towards the block.  The sensor can read between 0 and 2 mm extremely precisely and the result can be measured with an oscilloscope and then converted to millimeters.  I really enjoyed testing and analyzing this system.  It was a lot of fun!

Sunday, July 1, 2012

We have movement folks...

So I finally got my autonomous robot code working! I would call this an alpha prototype, but it seems to work pretty well running around my kitchen. Take a look at the video below to see the DJ Ginobot in action.

This is an early prototype, but I am very pleased with my progress so far.  Eventually, I would like the robot to be scanning more frequently, so that it does not have to stop as much.  I am also having difficulty with the wheels turning at the same speed due to motor incongruity.  The best solution for this is encoders, which are a bit pricey.  However, for this project, they may not be necessary.

An idea that popped into my head yesterday about how I can take this project to the next level.  I have been reading about using MatLab to do mapping of space.  I could use my robot to perform mapping functions and send them wirelessly to the computer.  I could then use MatLab to interpret that data and make a map for me.  Imagine using this robot in a burning building where the firefighters don't know where to go.  They could send in the robot to map inside of the building for the firefighters outside.   Maybe this will be my next portion of the project.

Wednesday, June 6, 2012

Great Sites for Robot Enthusiasts

So, I wanted to add a list of sites that I find to be interesting, helpful and cool for robot lovers like me.  Here they are:

Tronixstuff - Great site for tutorials and reviews of kits.
Hackaday - Cool, new hacks and projects from around the web
DFRobot - Great for parts and tutorials
Let's Make Robots - Lots of awesome robots and a large forum
Yourduino - THE place to find parts on the cheap
RobotGrrl Blog - This girl makes a lot of robots and is quite good

These are just a few of the millions of sites out there for robotics.  A simple google search for robots will take you a long way.

Tuesday, June 5, 2012

Let's Get Moving...

This is a video of my robot taking infrared commands from an IHome remote that I rummaged from a pile of my junk.  I programmed the little guy in C and the code can be seen below.  I had to calibrate the motors to run at the same speed and they often don't go perfectly together.  If I used encoders, I could calibrate them much better, but that is a project for another day.

Monday, June 4, 2012

Arduino - The Do-Everything Microcontroller

In my wild hunt for robotic excellence, I came across the Arduino platform for robotics.  The Arduino is a microcontroller that is designed to be easy to use, program, wire-up and generally work with.  In search of a microcontroller, I ordered a version of the Arduino from dfrobot.com, called the DFRduino Romeo.  This particular version comes with two motor controllers built onto the board for easy access.  Otherwise, I would have had to build an H-Bridge circuit to control the motors.  Here is a picture of the Romeo in all of its glory:
Along with the Romeo, I ordered a robot platform called the Magician Chassis.  It is a small two wheeled chassis with motors included and an omni-wheel in front.  It is made with hobbyists in mind and is therefore perfect for my application.  Here is a picture of the Magician Chassis:
After everything arrived, I decided to put it all together and wire it up.  I have run some programs on it, but I will talk about those later...  Here is a picture of what my robot looks like now:

The ipod Amplifier

The first part of the project was to build a suitably loud ipod Amplifier that wouldn't break the bank.  I chose to follow this example:
I used the same circuit, but made some design adjustments to the casing and the speaker choice.  At first I used a speaker that I ripped out of an old telephone, but it overloaded in about 30 seconds.  So instead, I used a 2.5 inch, 8 ohm speaker from You-Do-It Electronics, which ran me about $2.  I also found a pretty good looking box for my circuit lying around the house.  Here is the first edition of the assembly:
I used a cup to amplify the signal a little bit more.  However, after poorly soldering the circuit together, I had to re-do the whole thing and I ended up with a better result.  Here is an image of the new version's guts:

This little thing can pump a jam nicely and should work ever so well on the "yet to be named" robot.

Welcome and current projects

Welcome to my new blog! The idea of the blog is to show my robotic exploits and show other people's as well. Currently I am working on a device that is similar to DJ Roomba from the tv show Parks and Recreation. The goal is to build an entire robot assembly from scratch and attach a homemade amplifier to it to play music. The robot will be able to sense obstacles and move away from them as well.

Working with Google's Cartographer SLAM Package

At my current position, at Canvas Construction, I have worked with a number of SLAM and localization packages. In the past few years, my wor...