Friday, October 30, 2009

Friday's Idea

Here’s an idea that I think is pretty cool, a robot that lays bricks. Not Lego bricks, but regular construction bricks.


There have been a few artists and companies that have actually commercialized this and create wonderful works of art. Here is another link to a different company.


Make Magazine recently did an article on some of the mathematics that is required to make some really impressive textures on some walls.



I have tinkered with some of the math, and it is pretty detailed. I hope to get into this project in the future (get in line, buddy). If I do get into this project I would probably use something like dominos or home made wooden bricks to mimic the bricks and I think a gantry style robot will be much easier to construct and program.
I want to be Titan the Robot for Halloween.

Wednesday, October 28, 2009

Rapid Prototyping Using Lego

Hey! This is cheating! Not fair!

Lego in Mainstream Blogs.

Many don’t know that lots of techy blogs often post Lego related posts. What’s nice is they usually don’t post junk, so most of the posts are something that will interest most AFOLs. If you find a big blog that you like, you can usually find all the Lego posts by searching around in the tags. Tags are key words like Lego, Mindstorms, and NXT.

A few of my personal favorites (with links to Lego tags) are Make Magazine, Gizmodo, Boing Boing Gadgets, Wired Magazine, BotJunkie, Engadget, Singularity Hub and Robot Dreams. (Don't forget to come back!)

I would love to know if anyone else has found any good ones.

Tuesday, October 27, 2009

Early Factory Design Pictures

Here are some very early pics of the Factory so far..

This is the pallet. The pallet is pushed along the conveyor by a lug on the belt. The pallet actually slides on the smooth plates on the side.

The stop is used to position the front of the pallet. A device yet to be developed will push the pallet from the back into the stop. The conveyor will only get the pallet near the station. It will not put the pallet in the final location.
This is the downstream view of a cell. The grey bars on the side are where the pallet will rest. The pallet rides up on them as it enters the cell.
This view is the pallet beginning to ride up onto the cell.
This is a pallet with a very early version of the car sitting on top. The pallet is in position for assembly work by the robot to begin.

Keep in mind that all designs are completely open to redesign!!

Saturday, October 24, 2009

Robot sympathy

Halloween is great. Lots of horrifying animatronics come out and crazy robot costumes get shown off. Here is a video I enjoyed because for a moment I had sympathy for some wires, nuts and bolts and some wood. It's great because the builder personified the robot simply with eyes, teeth and some strange movements.



Somebody please do something to help!

Reality producer lands Lego

I have always wanted a show, a documentary, a series or something on TV about Lego. Looks like it is going to happen. www.variety.com has an article (Reality producer lands Lego) that states that there is something in the works

Five bucks says that Mindstorms won't get much air time. Just a hunch.

Friday, October 23, 2009

Fridays Idea

This is what I would build if I had 200 NXT sets and about 5000 hours of spare programming time.

Thursday, October 22, 2009

My Factory-The Plan

I wish I could say that I have as many bricks and Mindstorms parts as shown in the two videos below. I have far less, so I am going to have to be efficient in mimicking them. I have 4 NXTs, 2 RCXs, loads of sensors, and quite a few PF motors and accessories, lots of pneumatic stuff, and lots of 9V stuff. Every good project starts with a good plan.

Here are just a few ways I plan to be efficient;

1. I will build several cars at the same time.
I don’t want to be limited to building only one car at a time. I will have a continuous stream of cars going through the factory. At each cell, another piece will be added. All cells will work simultaneously and when all cells are complete, the process will cycle to the next car.

2. I will use a single stream to construct the vehicle.
On both of these video, you see grippers picking up assemblies and moving them to a different operation. I will be using a single long conveyor belt. Any construction to the vehicle will be done on that conveyor belt. This will force me to standardize, which will make constructing the whole factory easier.

3. All vehicles will be built on a pallet.
As the vehicle construction happens, each car will be placed on its own pallet or sled to move through the factory. This will mean that each cell will locate the pallet exactly the same way following a standardized system.

4. I will use a common pneumatic compressor.
I will build a large air compressor that powers all pneumatic actuators. This will have a standard pressure switch that will be used to turn the compressor on and off. The switch and motor do not use any control ports of the microprocessors.

5. I will excessively use PF motors and the HiTechnic IRLink.
Not all motions will need to have precise locations. I can use a PF motor much like a pneumatic cylinder. I will use a clutch gear and timing in the program to shift the motor from Point A to Point B.

6. I will use a single pneumatic interlocking pusher system.
In the videos, they show several locations where a motor is connected to a spur gear that drives a pusher down to interlock the Lego pieces. I will use a single air system that will push down at all cells at the same time after all parts are laid in place on all cells. This will use one motor to flip the switch.

7. I will use a single system to lock all pallets in place.
This will more than likely be a pneumatic system. As a pallet arrives at a cell, perfect alignment of all pallets at their cells would impossible. I will create a pneumatic system the will lightly push each pallet exactly into place and hold it while the robots work on the car. This will use one motor to flip the switch.

8. I will use a card system to input car details.
In the videos, the user chooses each car color by pushing a series of buttons. I will be creating some sort of card reader that will tell the factory which colors or details to place. This will use one motor and one sensor.

I think I have prepared a plan that will allow me to build a large factory with four to six cells. I have researched some automated car factories and my system mimics their facilities. I think what you will see if this plan works is an orchestra of moving parts. It’s going to take a pretty good conductor, and I hope I am up to the challenge.

Now the plan is in place, time to build. That’s fun part.

Tuesday, October 20, 2009

My Next Project is a Big One!

Well, the DominoBot is torn apart and I am thinking about my next project. I like big things, really big things, and I don’t mind spending months working on a project.

I haven’t posted in a few days because I have been thinking about tackling a project that I have wanted to do for a long, long time. Here are two videos that I have watched dozens of times.


Car Factory


Airplane Factory


These are great; they show lots of creativity and teamwork. It looks to me like an individual or small team constructed a station or cell and then all the cells are brought together to form one large construction.

I am going to give this a try. I think that both can be done with fewer processes and bricks, although I am truly impressed by the massive overbuilding of some components.

I am now trying to construct a vehicle that can be relatively easily mass produced. I am inventorying my wheels and other vehicle components. I don’t really want to purchase a bunch of parts that won’t be used in other projects, so I am trying to stick with what I have on hand.

Over the next few days, I will share some of the engineering choices I have made and why. I have put a lot of thought into this already, and I have some ideas that some of you may be interested in seeing.

By the way, this is a great team project and I am willing to work with others to expand!

Friday, October 16, 2009

The Lego Flexpicker

I realized today that I haven't linked to may current claim to fame, the Lego Flexpicker.



I had a great time with this build. I got tons of links from several big blogs and websites and was even invited to take it to an ABB Robotics show in Michigan. Check out this video and you will see the Lego robot at about 5:50

Mechanical Ecstasy

I became an Engineer because I have a great fondness for moving things. Lego allows me to quickly throw together ideas and realize thoughts in only a few moments. I easy get transfixed on complicated machines.

Then I found videos from superbird28 on YouTube.com. This person is a mechanical God in my mind. Their creations absolutely mesmerize me. I will link to just one, but I strongly recommend that you check out all of this persons work. It is amazing.

Wednesday, October 14, 2009

DominoBot Video is now available



Thanks for checking it out!

Monday, October 12, 2009

Universal Joint Trivia

Look at the two shaft assemblies below. Identical, right? Not exactly.


Another name for a Lego universal joint is a Cardan joint. One of the drawbacks of a Cardan joint is that even when the input axle rotates at a constant velocity, the output shaft rotates at a variable speed. This can cause vibration in shafts that turn fast and inaccuracy in precision machinery. It’s not typically noticed with Lego because of several reasons. There is not a good way to very precisely measure rotational velocity and angle, there is torsion (twist) in the shafts and the gearing has a lot of backlash or slop, so we don’t see it or even care.

One way to partially overcome this error is to align the hinges on the universal joint as shown on Shaft A (90 degrees apart) and align the input and output shafts so that they are parallel. This is called a Double Cardan Shaft. This arrangement will result in an almost constant velocity in the output shaft.


Reference: Wikipedia
Wikipedia’s article on Universal Joints nicely shows the Equation of Motion for a universal joint along with a graph.

Sunday, October 11, 2009

DominoBot!

Here are some pictures and information about the DominoBot.

DominoBot lays dominoes in a pattern to spell out a message. The basic premise is the same as a very very slow dot matix printer.

DominoBot uses one NXT, two servos to drive, one servo to open and close the gate, and eight medium PF motors controlled with the HiTechnic IRLink to push dominoes out of the magazine. The code is written in RobotC and the pattern and array are created in MS Excel.

Inspiration for this project, as I mentioned was Chalkbot. I considered several different mediums to spell out the message including spray paint, bricks, water and finger paint. I chose dominoes because I have two very large sets of dominoes (272 dominoes total), and it would be easy to pick up and reload.







The robot weighs over 25 lbs., so I had to carefully build the structure and drive train to be able to support that much weight. It will only work on level, flat surfaces. I once pulled it across the table and broke a gear, so when I move it I have to completely pick it up and place it, even very small distances.

DominoBot needed to be able steer and the wheels have to be extremely robust. I devised two pivoting trucks with four wheels each connected by a differential gear. The differential gear allowed a very wide base for each driving motor while still allowing it to turn.



The PF motors are used basically the same way a pneumatic cylinder would be used. I cycle the motors forward for 1.5 seconds to push out a domino and reverse for 1.5 seconds to retract the pusher. A clutch gear is used to “bottom out” the pusher on both movements, so a cycle actually takes less than 1.5 seconds.


The gate at the domino exit chute is an afterthought. I found that when the dominoes slide out, they tended to slide four to eight inches and made the message incomprehensible. The gate stops them at the bottom of the chute and releases them at the same time.


I used MS Excel to create the pattern. This worked great because I could size and fill in the cells to see exactly what the pattern would look like. Then I used a couple of Excel formulas and created the actual code that I could copy and paste over to my RobotC program.


Each magazine slot can hold 32 dominoes, which allows for about 10-12 characters to be created. The message programmed right now is “LEGO RULES.” Originally I made the magazine so that it would be filled from the top, then I figured out that it would be much easier to fill from the back.








Digital Devices now available.

Lego has started yet another line of products. Although it's not robotics related, it is kinda neat. They have released some digital devices such as radios, walkie talkies, and MP3 players. They are now available at ToysRUs.

I may have to replace that 20 year old clock radio that is currently at my design table. You know, just to maintain continuity.

Saturday, October 10, 2009

Project Complete!

Make sure you check back in a day or two, I just completed a project. To give you a teaser, it uses one NXT and 11 motors. If you have read any of my posts lately, you can imagine that I have used the HiTechnic IRLink.

It works pretty well, so all I need to do is set it up and take some video.

Another teaser...my inspiration was Chalkbot. Well, maybe that was too much of a hint.

Friday, October 9, 2009

Fridays Robot Idea

I happen to enjoy an adult beverage. I especially like cocktails, but I won’t turn away a good beer. This video shows a video that I really enjoy. It has all the things that are important to a popular robot; lights and sound, mobility, lots of accessories, user input and a huge WOW factor. Oh yes, and it also has an important purpose.



This is on my list of future projects. The only thing I am worried about is what to do with all the products created during the testing phase. I have a feeling that my testing periods won’t last much longer than about 30 minutes.

A Plea For RobotC

I really like RobotC. The software is stable, it downloads in a second, it has a great debugger and it has tons of functions that most other languages don't have. There are really talented people using it in very complicated ways.

My only problem is that they haven't released a way to communicate via Bluetooth between more than 2 NXTs. I am fortunate enough to have 4 NXTs. If I choose a project that uses all of them, I have to be very creative and figure out a way to communicate between them. Yes, I know NXT-G does it really well, but I find that things start to go bad when I create very large programs with lots of decisions and loops.

Thursday, October 8, 2009

HiTechnic Sensor Multiplexer

In case you have missed it like I did, HiTechnic has introduced a new Sensor Multiplexer. You can add any HiTechnic or Lego supported sensor. This is in addition to the Touch Sensor Multiplexer.

It looks pretty cool, and they claim you can have multiple multiplexers on a single NXT, so you can have up to sixteen sensors on one controller (WOW!). Throw in an IRLink to control some PF motors and an RCX and you have incredible power and control from a single NXT.

I already have several HiTechnic products and I find them to be very reliable. I have contacted them about technical support and they are great and usually get back to you quickly.

The drawback I see is that there are no NXT-G blocks to download yet, but they will be supporting LabVIEW 2009 and RobotC soon.

Now where did I put my wallet.....

Wednesday, October 7, 2009

Anti "WAIT" movement.

(Trying to not sound like I am on a pulpit.)

I watch a lot of videos, mostly on YouTube.com. There are usually dozens of NXT videos loaded daily and I try to look at the most interesting ones nearly every day. There are some incredible people with incredible ideas out there, and I thank God that we have such a utility to share. I always walk away from watching videos inspired.

But one thing that is a turn off is watching a robot with too many "wait-time" blocks. The Great Apes are fascinated by shiny things, my loving wife loves expensive things, my kids love noisy things and robotisists love moving things. Don't get me wrong, the "wait-time" block is great for debugging, but not good for final runs that will be recorded and put out for public consumption. The attention span shortens when watching an outstanding robot doing nothing.

So tell your friends to get rid of those pesky time wasters!

A plug for Lego Education.

We’re all looking for more resources for parts and ideas. In case you don’t know about it, there is a great resource called Lego Education. Right now I am shopping for parts and I love this site. I can buy sometimes hard to find parts like pneumatics and more exotic sensors.

Plus, you can sign up for a free catalog. There's nothing like getting a Lego Robotics catalog in the mail and keeping it on the coffee table for perusing when not building.

More Power with a Differential Gear

I like to build big…very big. My current mobile robot project weighs about 25 lbs. This creates a whole new set of problems. The structure has to be built rigid enough to not bend or break. The wheels have to be chosen so they won’t go flat, so pneumatic tires aren’t a good choice. An appropriate gear ratio has to be selected so you have a good speed with enough power.

A way to get a good speed and lots of power is to use a differential gear in a different way. Everybody is familiar with using a differential gear to power the both driving wheels of a vehicle so the wheels will be powered while turning a different speed. The same can be done with motors. Rather than attaching wheels to the differential, attach motors. Then the motors can be run either independently or together. When only one motor is running, there is a gear ratio of 2:1, when together there is a 1:1 ratio with twice the power.


Two Motors with a Differential Gear
(click to enlarge)

There are some drawbacks to this;

  • Power will always travel path of least resistance. This means that if you have a high load and only one motor is turned on, you will likely just turn the rotor of the other motor. This means that you may be required to run both motors at all times. Another solution is to incorporate worm gears on each motor, giving you an extremely powerful but slow gear box.
  • To maximize power, each motor should have its own power supply, so you should double up on battery boxes and controls.
  • You may end up with extremely high power, so you might want to consider beefing up some of the power transmission elements. Two XL PF motors could easily twist and break an axle under a high load condition.

I have used this technique a few times, and once I connected four 9v motors to drive a very large heavy wheel. It works great, but can be a space hog.

Sunday, October 4, 2009

Non-Lego "Stuff"

I am an absolute Lego purist, meaning that I don’t incorporate anything but Lego into any of my creations. But I have been temped. I have considered using Styrofoam or wood to create shapes such as boat hulls, bumpers, faces and stuff like that.

I have considered a multi-NXT robot with lots of motors and sensors that are all completely hidden such as a human face or an amorphous shape. There would be no Lego elements visible to the eye. I recently found this stuff called Polymorph that looks cool. It is a plastic that melts at very low temperatures (hot water) and can be melted over and over and the re-usable nature really keeps with the Lego spirit. The cost is a little high at $20 per kg (about 2.2 lbs.) I might look into this more in the future.

Friday, October 2, 2009

Fridays's Robot Idea.

This is a project that I have worked on a few times, but never completed. I would still love to make something of it. I often find myself devoting time to this.

I saw in person a system like this at a trade show in Chicago. It is fascinating and I think that it can be done using the HiTechnic IRLink (yes, that again) with some remote control train motors or even standard remotely controlled PF motors. I would like to see several robot cells that each does something unique along with the system that connects them. This has the potential to be a massive system, and if anyone would like to devote a year or so to building a huge system, call me!

Skip ahead to about 0:48 to see the system in action.