You are correct in that the seams on the flight deck won't buldge - they nast bulging and stress occurs at the interface between the flight deck and the cabin - the skin on the pressurised flight deck is pushing outwards and the skin on the cabin is pushing inwards due to speed. It's the differance in stress that cause nasty things to happen.
Grrr... It must be doubely annoying to consider that your taxes paid for it. I has an interesting visit in a large-town in France called Orange (Named after a crusaiding Knight). The "National Front" canidate had won the election for Mayor several years back and the rest of France was all in a tissy - the National Front has a reputation of being racist jerks, and indeed some of them really are racist jerks. Anyway, the Mayor (who seemes quite normal) did a turnaroud not unlike New York - and today Orange is a nice place to live. The interesting thing, is that the 30% of the local immegrant population voted for him in the next election - up form presumibly 0%.
It's truly a shame we are not more selective on who we welcome into our respective countries. For evey jerk we allow in, we miss the oppertunity to help a decent person. It's amzing how people agree on this issue, but nobody makes a stand. I guess I'm afraid of being labeled as racist. I love the cool people that have traveled hard roads to get in to this country, and I deplore the people that give these good people a bad name.
The Petrona towers were a taller *structure* than the WTC, but not taller *buildings*. The highest place you could stand on the WTC is 75 feet taller than the highest place you can stand on the Petronas. The Petronas are cool, but the top bit of them is just a decorative spire.
Re:FBI Head says no arrests related to bombings
on
More On Tragedy
·
· Score: 1
There were some "questionings"
I know we're a law-abiding people, but I snicker when I here that some people are being brought in for "questioing." Some people are now in pain. The kind of pain that scars the soul, but not the body.
Re:What can be done about terrorism?
on
More On Tragedy
·
· Score: 1
Let's hope that Pakistan is not involved - they supposidly have low-grade nukes. If we were to strike against Pakistan, we would have to take out their nuclear capability quickly. And that means using nukes.
Actually, the *has* to be a way for massive amounts of air to quickly pass between the passanger compartment and the flight deck. If the passenger compartment decompresses, the flight deck will litteraly bluge at the seams.if the extra preasure isen't vented. If the seams bluge, they get ripped apart by the 500 MPH winds just outside. Don't want that to happen.
The American government regularly "kicks ass" all over the world and creates a lot of resentment
You're welcome. I hope you enjoy the peace, security, and prosparity that the suffering-of-souls of many American, Canadians, Austrailians, British, French, Soviet, Chinese have bought for you.
You live in privlage of not being in a Nazi conventration camp, not working in an Italian slave-factory and not walking in Imperial death-march, and I hope you enjoy it.
Evil is not to delt with, it is to be destroyed. I hope we have the mercy to rebuild the Middle East like we did with Japan, Italy and Germany when this is all over.
One domestic flight, I was rummaging through my bookbag to find a book to read, and too my horor, I found the HUGE envelope-opener I has stashed there a few weeks before. The thing was a hidiously ugly thing that someone carged in Africa, and was made out of a really hard wood. Defianly, it could be a weapon. This was about five years ago - I hope thing have improved. My girlfridns land-lady is a small Amrican of Japanese decent, and has on her keychain a small stick of wood that has rings carved out of it for a good grip. You grab with a fist and a little nub of wood sticks out the top of your fist - it's used for pericing the skull. She had to hand it over to airport security once, and they stuck it in a huge cardborad box to be checked in as luggage.
My feeling, here from Washington State, is that the good provence of British Columbia allows way to many *fundamentalist* Islamic "refugees" into it's boarders. Driving into Vancouver, you begin to wonder if you're in North America anymore. The refugees from Asia have made positive contributions to the culture of Vancouver, It's time we demand that other refugees start making a positive contribution.
We had that incendent with the Algerian-Canadian who was smuggleing bomb making material from Canada, destined for LAX just two years ago.
It just seems that Canada, and the United States as well, should make sure that any "refugees" are compatable with the culture already here, and that they will regard our cournties as their home, not just an easy way to sponge off the Western infidael.
I wept when I saw footage of the second jet hit the WTC - I was looking out the window and saw a mom taking het child out for a walk. There was no terror is her eyes, and I knew that we have won. The terrorist have lost.
The State Department issued a warning to all US personelle on foreign soil to watch their backs, on Friday - US embassys were also on heightened alert.
Why anyone would pray for comfort to a God who would allow something like this to happen is beyond me.
I was going to mod you down to flaimbait, but I think you were just lashing out in anger, and I don't blame you. I'm agnostic, and can understand your sentiments, but please don't confront people, on a day like today, with your logic. Let them pray, and weep in peace.
Please, let put the whole FDR knew about Pearl Harbour theory to rest. *IF* it happened, someone in the White House would have assainated FDR right then, rather than let the United Stated be lead by a mad-man. FDR was odd, but not evil and crazy.
Historically the U.S. Reaction to this kind of attack is to counter strike.
THAT IS WHY WE ARE STILL HERE. That is why we have peace, and security and prosperity. We need to kill those responsible so they won't do it again, and to make an example out of them. No Justice, No Peace.
Dear Citizen,
Please refrain from using the Internet, we need it for it's original mission - sending lauch codes to missles.
Your Friends at the Military
99.9999 of Arabic people in the US are here because they love the US. They may express it differently, and sometimes have odd viewpoints, but at the end of the day, they are here and love the USA.
Here's the text, modified to get past the lameness filter. The robot itself is squat and well built, it envelopes the cube, except for the top and front, the grippers have a sturdy look to them.
CubeSolver_1b
- PREAMBLE -
This robot solves a 3x3x3 Rubik's Cube.*
I started to think about this problem about seven months ago. Then fellow Mindstormer AGIECCO announced his intention to work on a robotic solution and, simultaneously, I saw that Rubik's Cubes were on sale at www.target.com. So I bought a couple of cubes and started getting down to business...
I produced a "late beta" version in mid-April 2001 that was a little clunky. The final version -presented here is smooth and reliable. The good news is that LEGO liked it so much they asked me to make some copies for them, so there's a decent chance that you'll be able to see one on a Mindstorms road show in the coming year.
- MECHANICAL DETAILS -
Two RCXs are used to manipulate the cube and implement the solution. The solution is generated by scanning each face of the cube in turn with the video camera from Vision Command, calculating a solution onboard a PC, and then downloading the move sequence for the solution to an array in the top RCX.
TOP RCX -master RCX controls the side grabbers which can rotate 90, either independently or simultaneously...
- OUT_A rotates the green grabber -one motor.
- OUT_B opens/closes the yellow and green grabbers simultaneously -two motors: one for each grabber.
- OUT_C rotates the yellow grabber -one motor.
- IN_1 two touch sensors, one at each end of the 90 limit of the green grabber's turn -arms UP-DOWN or arms FRONT-BACK.
- IN_2 two touch sensors, one on the green grabber and one on the yellow grabber, detect when the grabbers are open.
- IN_3 two touch sensors, one at each end of the 90 limit of the yellow grabber's turn -arms UP-DOWN or arms FRONT-BACK.
BOTTOM RCX -slaved to top RCX via IR messages controls the bottom grabber which can rotate back-and-forth 90. Two touch sensors report when the bottom turntable has reached its limit of travel -arms perpendicular to the LR grabbers, or arms parallel to the LR grabbers.
- OUT_A opens/closes the BOTTOM grabber -one motor.
- OUT_B rotates the BOTTOM grabber -one motor.
- OUT_C -
- IN_1 Touch sensor -arms perpendicular to LR grabbers.
- IN_2 Touch sensor -arms parallel to LR grabbers.
- IN_3 Rotation sensor, tracks the open/close state of the bottom grab.
To achieve a cube solution, you must be able to rotate the whole cube by 90 in two orthogonal axes, *and* be able to turn a face by 90 relative
to the rest of the cube.
I opted to use the left and right grabbers to turn the faces; the yellow grabber can rotate the left face by an 90; the green grabber can rotate the
right face by 90; or they can both turn simultaneously while the bottom grab is open to rotate the whole cube through 90.
The bottom gabber holds the center 'slice' of the cube when the left or right grabber is turning a single face, and also provides a 90 turn for
rotating the whole cube.
The tricky part is to bring the correct face into a position where the left or right grabber can grip it. For instance, to turn the UP face -white face of the
photo shown here, the sequence is as follows:
- The side grabbers engage, the bottom grabber releases, and the side grabbers rotate the whole cube 90 so that what was the UP face is now
facing the LEGO Cam.
- The bottom grabber re-engages, the side grabbers open, and the BOTTOM grabber turns 90 anticlockwise; what was initially the UP face is now
facing the yellow grabber -and what was the DOWN face is now facing the green grabber.
- Unfortunately, the fingers of the BOTTOM grabber are now in the way, so we rotate the side grabbers back 90 and re-engage them to hold the
cube and then open the BOTTOM grabber.
- The cube is now securely held by the side grabbers, with the BOTTOM grab open, so we turn the bottom grabber back 90 clockwise and re-engage it. Now we are all set to turn the face which was facing UP at the start of the operation...
If you find this all a little hard to visualize, there are some additional photos at
1. The cube faces are generally too stiff for LEGO elements to turn.
This problem was solved by a tip I found on Lars Petrus's Speed Cubing page -http://ng.netgate.net/~mette/lars/cubedude/speed. html - lubricate the
cube with silicone spray lubricant. I got an aerosol can of LubriMatic Heavy Duty Silicone Lubricant from my local ACE hardware store. The can comes
with a long, thin red tube to direct the spray. Using the tube, I directed a brief squirt of lubricant into the cube at each of the four corners of the center 'cubelet' of each face -I recommend doing this on newspaper - it's a fairly messy job. After wiping off the excess spray, the result is a fairly slick cube.
However, I found that the cubes were still a little sticky owing to the springs inside the cubes being stiff, so I pushed some wedges in between the facelets and left them over night to force the springs inside the cube to loosen up. After this treatment the cubes handled very well.
2. Getting enough torque
Even with a treated cube, getting enough torque to turn the cube faces was going to be a problem. I remembered the system that Jin Sato used on
the thigh joints of MIBO - worm gear to the outer 56t ring of the large Technic turntable. This gives torque to spare for turning the faces of a treated
cube.
3. LEGO grabbers don't grip strongly enough
My early attempts at building a cube solver were all stymied by grips that slipped. The worm-56t gave enough torque to turn, but the fingers couldn't
hang on and the grip was simply pried apart as the grabber rotated around the stationary cube face. I thought about changing the device's name to
"ButterFingers".
I rebuilt the left and right grabbers six times -and the bottom grabber four times trying elastic bands, Technic shocks, and pneumatics, before I came
up with an adequate grip mechanism. In the present version, an axle runs from a motor through the center of the large Technic turntable to a worm
screw. The worm screw turns two 24t gears mounted inside the body of the grabber, one each side of the worm. Each end of the 24t axles terminates
with an 8t gear outside the body of the grabber, and these 8ts engage with 24t-s on either end of the axle which drives a grabber arm. This system can
be strained quite tight without risk of gear slippage, and also allows the large turntables to rotate 180 without any significant loss of grip.
For the bottom grabber I had to use a slightly different arrangement -same gear combinations because the fingers of the green and yellow grabs
kept catching on the external 24ts of the bottom grab. Eventually I managed to work out how to mount all the gears internally in the 4-stud width of
large Technic turntable.
The result of using all these worm drives -rotating, and opening/closing the grabbers is to give a slow, deliberate feel to the movements which I now
quite like: instead of snapping from one position to another like a karate expert the movement is more like t'ai ch'i master - full of controlled energy.
4. Precision of movement.
As I mentioned before - the grabbers were rebuilt more than once. Part of the problem was getting a strong enough grip; the other part was getting the
'fingers' of the grabbers out of the way of each other when the whole cube was being rotated -you'll notice that the left and right grabbers hold the cube
near the edge to keep the fingers short. Having solved these problems, there was still the problem of 'slop' or 'gear lash' in the left and right drive trains.
Most of this was absorbed by putting the rotation sensors on the worm drive axles. However, the worm screws are a *tiny* bit too short to fit snugly -
they travel a little when the motor direction is reversed. To cure this I tried a suggestion from John Barnes -http://news.lugnet.com/robotics/?n=14854
and cut thin shims out of the plastic insert tray from inside a LEGO box. Two shims on each drive axle fixed the worm gear nicely in position so that the
gear lash -although still just detectable was *nearly* within the tolerance of the cube for repeated turning.
The final problem is making sure that the faces of the cube are kept in orthogonal alignment. A standard Rubik's Cube has side dimensions *just* larger
than 7 LEGO studs. Fortunately there is enough flex in the joints of LEGO Technic to absorb the tiny additional dimension. Each grabber arm is fitted
with reverse slopes that force the cube into the correct orthogonal alignment as the grabbers close. However, the rotation sensors for the LEFT
and RIGHT grabbers occasionally lost track of their position and had to be manually tweaked during a solution. There was a also a problem that the
rotation sensors were on the same axle as the worm screw turning the turntable. When the cube was a little stiff, even if the worm screw had performed the correct number of rotations to turn the cube face 90, the LEGO pieces of the grabber had enough flex that the grabber was slightly twisted and the face did not make it all the way around to the 90 point. Therefore I scrapped the rotation sensors and put two touch sensors at the limits of the quarter turn of the turntable -similar to the bottom grabber. I built a "toucher" attached to the rotating part of the large turntable, and this seemed to compensate better for the twisting of the other LEGO elements of the grabber during stiff turns.
The disadvantage of the touch sensor approach, of course, is that the grabbers can no longer make a full 180 turn, so there is more time taken repositioning the side grabbers. The robot averages one face rotation every 30 seconds.
5. Inputting the initial -unsolved state of the cube.
The longest part of the this project involved writing the color recognition software. I downloaded the Logitech Quick Cam SDK from the Logitech site -the Vision Cam is a repackaged Logitech Quick Cam and used VB5 to write a fairly decent program -good enough to distribute if anyone wants a copy. The color recognition is reasonably robust -about one error every two cubes so I incorporated a feature that requires you to confirm that each face has been correctly scanned -and, optionally, allows you to correct the input manually before it scans the next face. The software requires calibration with a solved cube under the particular lighting conditions, and it is quite finicky about changes in lighting conditions. I also left in the earlier manual input option so that you can get a solved cube for calibration, or in case anyone who doesn't have a Vision Cam wants to try this.
Briefly, the software sends a message to the top RCX asking it to present one face of the cube to the video camera. The computer captures a frame from the video camera, and scans a 50x50 pixel area of each color patch to find the median red, green and blue -RGB color values for each color patch on the face. The RGB values are converted to D55 compensated CIE L*a*b* coordinates, and then the CIE values are trigonometrically compared to the calibration values to find the closest match. The computer then asks the robot to show it the next face, and the process is repeated until all the faces have been scanned.
6. General solution to the Rubik's cube.
There are any many general solutions to the 3^3 Rubik's Cube on the internet -http://www.rubikscube.com/cubesolutionother.html. However, most of these produce a sequence of moves involving 50 or 60 face rotations. Given that my bot moves quite slowly, I wanted a relatively short sequence of moves. Fortunately, I found some C source code by Michael Reid on the internet -ftp://ftp.cdrom.com/.2/sac/educult/miker.zip which implements Herbert Kociemba's solution method: it provides short solutions - 40 face rotations quite quickly. I ported this code to Microsoft Visual C++ and recompiled it as an OCX for use in Visual Basic. I must say that Mike did a pretty decent job with his code - move sequences are usually less than 30 moves.
NOTE: The NQC source code files for the two RCXs is are too large to upload to the invention slot here in Mindstorms - apparently there's a 15k limit, while the code for RCX1 alone is 19k. Anyone who wants the NQC source can e-mail me -envcons at ameritech dot net.
-
* Rubik and Rubik's Cube are Registered Trademarks of Seven Towns Limited.
Actually the court is still out on the status of retail purchased software. In Galoob Vs Nintendo, the court came down on the side that software is purchased and can be modified for the whims of the user (The case was about the GameGenie.) Of course, copyright still applies. The legality of shrink-wraped licenses is entirely contingent on the question "is copying the program to RAM and to the hard-disk is upication" - you would need a license to do this if you diden't own the copyright, or if "useing the program is just that - using the program."
The courts have flip-floped on this issue, and no big-software-vendor is anxious to get a ruleing, as the argument that there are many devices that do the same thing that don't need to have a licence to copy their 'software' exist today: all audio CD players make a temporaty copy in the DAC, all VCR/TVs make a temporary copy on phosphor on the screen and all DVD's make copies on the screen as well as a copy in the MPEGII decoder chips.
Ah! That explains it. I knew Seymour Cray was working on a GaAs computer -- he had renounced silicon and was assembling some of the world's best GaAs equipment. So, that was bought by Tera [tera.com]
Actually, if memory serves, Tera finished their first MTA computer before they purchased Cray. Seymour, no doubt, had plans of his own before he died, but Tera effort was home-grown. When I was researching Tera as a stock, Tera wanted to switch to CMOS for the cost savings involved. The heat was a problem, but the costs of GaAs was the primary motivation to switch according to their fileings with the SEC.
A lot of people don't think of it this way, but.NET is an 'Embrase(sic) and Extend' on the OS level. If Microsoft has it's way, it won't matter what OS your desktop runs,.NET will be the platform. Just as now, MS Windows dosen't care what video card you use..NET is an attempt to make what OS you use irelevent, and of course.NET and Microsoft.NET services are going to cost money.
You are correct in that the seams on the flight deck won't buldge - they nast bulging and stress occurs at the interface between the flight deck and the cabin - the skin on the pressurised flight deck is pushing outwards and the skin on the cabin is pushing inwards due to speed. It's the differance in stress that cause nasty things to happen.
Grrr... It must be doubely annoying to consider that your taxes paid for it. I has an interesting visit in a large-town in France called Orange (Named after a crusaiding Knight). The "National Front" canidate had won the election for Mayor several years back and the rest of France was all in a tissy - the National Front has a reputation of being racist jerks, and indeed some of them really are racist jerks. Anyway, the Mayor (who seemes quite normal) did a turnaroud not unlike New York - and today Orange is a nice place to live. The interesting thing, is that the 30% of the local immegrant population voted for him in the next election - up form presumibly 0%.
It's truly a shame we are not more selective on who we welcome into our respective countries. For evey jerk we allow in, we miss the oppertunity to help a decent person. It's amzing how people agree on this issue, but nobody makes a stand. I guess I'm afraid of being labeled as racist. I love the cool people that have traveled hard roads to get in to this country, and I deplore the people that give these good people a bad name.
The Petrona towers were a taller *structure* than the WTC, but not taller *buildings*. The highest place you could stand on the WTC is 75 feet taller than the highest place you can stand on the Petronas. The Petronas are cool, but the top bit of them is just a decorative spire.
I know we're a law-abiding people, but I snicker when I here that some people are being brought in for "questioing." Some people are now in pain. The kind of pain that scars the soul, but not the body.
Let's hope that Pakistan is not involved - they supposidly have low-grade nukes. If we were to strike against Pakistan, we would have to take out their nuclear capability quickly. And that means using nukes.
Actually, the *has* to be a way for massive amounts of air to quickly pass between the passanger compartment and the flight deck. If the passenger compartment decompresses, the flight deck will litteraly bluge at the seams.if the extra preasure isen't vented. If the seams bluge, they get ripped apart by the 500 MPH winds just outside. Don't want that to happen.
You're welcome. I hope you enjoy the peace, security, and prosparity that the suffering-of-souls of many American, Canadians, Austrailians, British, French, Soviet, Chinese have bought for you.
You live in privlage of not being in a Nazi conventration camp, not working in an Italian slave-factory and not walking in Imperial death-march, and I hope you enjoy it.
Evil is not to delt with, it is to be destroyed. I hope we have the mercy to rebuild the Middle East like we did with Japan, Italy and Germany when this is all over.
Two tails of airport security:
One domestic flight, I was rummaging through my bookbag to find a book to read, and too my horor, I found the HUGE envelope-opener I has stashed there a few weeks before. The thing was a hidiously ugly thing that someone carged in Africa, and was made out of a really hard wood. Defianly, it could be a weapon. This was about five years ago - I hope thing have improved. My girlfridns land-lady is a small Amrican of Japanese decent, and has on her keychain a small stick of wood that has rings carved out of it for a good grip. You grab with a fist and a little nub of wood sticks out the top of your fist - it's used for pericing the skull. She had to hand it over to airport security once, and they stuck it in a huge cardborad box to be checked in as luggage.
My feeling, here from Washington State, is that the good provence of British Columbia allows way to many *fundamentalist* Islamic "refugees" into it's boarders. Driving into Vancouver, you begin to wonder if you're in North America anymore. The refugees from Asia have made positive contributions to the culture of Vancouver, It's time we demand that other refugees start making a positive contribution.
We had that incendent with the Algerian-Canadian who was smuggleing bomb making material from Canada, destined for LAX just two years ago.
It just seems that Canada, and the United States as well, should make sure that any "refugees" are compatable with the culture already here, and that they will regard our cournties as their home, not just an easy way to sponge off the Western infidael.
I agree!
I wept when I saw footage of the second jet hit the WTC - I was looking out the window and saw a mom taking het child out for a walk. There was no terror is her eyes, and I knew that we have won. The terrorist have lost.
, he has admitted that he would not shoot
;)
I guess some lives arn't worth saving
The State Department issued a warning to all US personelle on foreign soil to watch their backs, on Friday - US embassys were also on heightened alert.
I was going to mod you down to flaimbait, but I think you were just lashing out in anger, and I don't blame you. I'm agnostic, and can understand your sentiments, but please don't confront people, on a day like today, with your logic. Let them pray, and weep in peace.
Please, let put the whole FDR knew about Pearl Harbour theory to rest. *IF* it happened, someone in the White House would have assainated FDR right then, rather than let the United Stated be lead by a mad-man. FDR was odd, but not evil and crazy.
http://images.google.com/images?q=don%27t+tread+on +me+flag
THAT IS WHY WE ARE STILL HERE. That is why we have peace, and security and prosperity. We need to kill those responsible so they won't do it again, and to make an example out of them. No Justice, No Peace.
Dear Citizen,
Please refrain from using the Internet, we need it for it's original mission - sending lauch codes to missles.
Your Friends at the Military
99.9999 of Arabic people in the US are here because they love the US. They may express it differently, and sometimes have odd viewpoints, but at the end of the day, they are here and love the USA.
Here's the text, modified to get past the lameness filter. The robot itself is squat and well built, it envelopes the cube, except for the top and front, the grippers have a sturdy look to them.
3 48 3&a=13576975
. html - lubricate the
. However, most of these produce a sequence of moves involving 50 or 60 face rotations. Given that my bot moves quite slowly, I wanted a relatively short sequence of moves. Fortunately, I found some C source code by Michael Reid on the internet -ftp://ftp.cdrom.com/.2/sac/educult/miker.zip which implements Herbert Kociemba's solution method: it provides short solutions - 40 face rotations quite quickly. I ported this code to Microsoft Visual C++ and recompiled it as an OCX for use in Visual Basic. I must say that Mike did a pretty decent job with his code - move sequences are usually less than 30 moves.
CubeSolver_1b
- PREAMBLE -
This robot solves a 3x3x3 Rubik's Cube.*
I started to think about this problem about seven months ago. Then fellow Mindstormer AGIECCO announced his intention to work on a robotic solution and, simultaneously, I saw that Rubik's Cubes were on sale at www.target.com. So I bought a couple of cubes and started getting down to business...
I produced a "late beta" version in mid-April 2001 that was a little clunky. The final version -presented here is smooth and reliable. The good news is that LEGO liked it so much they asked me to make some copies for them, so there's a decent chance that you'll be able to see one on a Mindstorms road show in the coming year.
- MECHANICAL DETAILS -
Two RCXs are used to manipulate the cube and implement the solution. The solution is generated by scanning each face of the cube in turn with the video camera from Vision Command, calculating a solution onboard a PC, and then downloading the move sequence for the solution to an array in the top RCX.
TOP RCX -master RCX controls the side grabbers which can rotate 90, either independently or simultaneously...
- OUT_A rotates the green grabber -one motor.
- OUT_B opens/closes the yellow and green grabbers simultaneously -two motors: one for each grabber.
- OUT_C rotates the yellow grabber -one motor.
- IN_1 two touch sensors, one at each end of the 90 limit of the green grabber's turn -arms UP-DOWN or arms FRONT-BACK.
- IN_2 two touch sensors, one on the green grabber and one on the yellow grabber, detect when the grabbers are open.
- IN_3 two touch sensors, one at each end of the 90 limit of the yellow grabber's turn -arms UP-DOWN or arms FRONT-BACK.
BOTTOM RCX -slaved to top RCX via IR messages controls the bottom grabber which can rotate back-and-forth 90. Two touch sensors report when the bottom turntable has reached its limit of travel -arms perpendicular to the LR grabbers, or arms parallel to the LR grabbers.
- OUT_A opens/closes the BOTTOM grabber -one motor.
- OUT_B rotates the BOTTOM grabber -one motor.
- OUT_C -
- IN_1 Touch sensor -arms perpendicular to LR grabbers.
- IN_2 Touch sensor -arms parallel to LR grabbers.
- IN_3 Rotation sensor, tracks the open/close state of the bottom grab.
To achieve a cube solution, you must be able to rotate the whole cube by 90 in two orthogonal axes, *and* be able to turn a face by 90 relative
to the rest of the cube.
I opted to use the left and right grabbers to turn the faces; the yellow grabber can rotate the left face by an 90; the green grabber can rotate the
right face by 90; or they can both turn simultaneously while the bottom grab is open to rotate the whole cube through 90.
The bottom gabber holds the center 'slice' of the cube when the left or right grabber is turning a single face, and also provides a 90 turn for
rotating the whole cube.
The tricky part is to bring the correct face into a position where the left or right grabber can grip it. For instance, to turn the UP face -white face of the
photo shown here, the sequence is as follows:
- The side grabbers engage, the bottom grabber releases, and the side grabbers rotate the whole cube 90 so that what was the UP face is now
facing the LEGO Cam.
- The bottom grabber re-engages, the side grabbers open, and the BOTTOM grabber turns 90 anticlockwise; what was initially the UP face is now
facing the yellow grabber -and what was the DOWN face is now facing the green grabber.
- Unfortunately, the fingers of the BOTTOM grabber are now in the way, so we rotate the side grabbers back 90 and re-engage them to hold the
cube and then open the BOTTOM grabber.
- The cube is now securely held by the side grabbers, with the BOTTOM grab open, so we turn the bottom grabber back 90 clockwise and re-engage it. Now we are all set to turn the face which was facing UP at the start of the operation...
If you find this all a little hard to visualize, there are some additional photos at
http://albums.photopoint.com/j/AlbumIndex?u=127
- PROBLEMS SOLVED -
1. The cube faces are generally too stiff for LEGO elements to turn.
This problem was solved by a tip I found on Lars Petrus's Speed Cubing page -http://ng.netgate.net/~mette/lars/cubedude/speed
cube with silicone spray lubricant. I got an aerosol can of LubriMatic Heavy Duty Silicone Lubricant from my local ACE hardware store. The can comes
with a long, thin red tube to direct the spray. Using the tube, I directed a brief squirt of lubricant into the cube at each of the four corners of the center 'cubelet' of each face -I recommend doing this on newspaper - it's a fairly messy job. After wiping off the excess spray, the result is a fairly slick cube.
However, I found that the cubes were still a little sticky owing to the springs inside the cubes being stiff, so I pushed some wedges in between the facelets and left them over night to force the springs inside the cube to loosen up. After this treatment the cubes handled very well.
2. Getting enough torque
Even with a treated cube, getting enough torque to turn the cube faces was going to be a problem. I remembered the system that Jin Sato used on
the thigh joints of MIBO - worm gear to the outer 56t ring of the large Technic turntable. This gives torque to spare for turning the faces of a treated
cube.
3. LEGO grabbers don't grip strongly enough
My early attempts at building a cube solver were all stymied by grips that slipped. The worm-56t gave enough torque to turn, but the fingers couldn't
hang on and the grip was simply pried apart as the grabber rotated around the stationary cube face. I thought about changing the device's name to
"ButterFingers".
I rebuilt the left and right grabbers six times -and the bottom grabber four times trying elastic bands, Technic shocks, and pneumatics, before I came
up with an adequate grip mechanism. In the present version, an axle runs from a motor through the center of the large Technic turntable to a worm
screw. The worm screw turns two 24t gears mounted inside the body of the grabber, one each side of the worm. Each end of the 24t axles terminates
with an 8t gear outside the body of the grabber, and these 8ts engage with 24t-s on either end of the axle which drives a grabber arm. This system can
be strained quite tight without risk of gear slippage, and also allows the large turntables to rotate 180 without any significant loss of grip.
For the bottom grabber I had to use a slightly different arrangement -same gear combinations because the fingers of the green and yellow grabs
kept catching on the external 24ts of the bottom grab. Eventually I managed to work out how to mount all the gears internally in the 4-stud width of
large Technic turntable.
The result of using all these worm drives -rotating, and opening/closing the grabbers is to give a slow, deliberate feel to the movements which I now
quite like: instead of snapping from one position to another like a karate expert the movement is more like t'ai ch'i master - full of controlled energy.
4. Precision of movement.
As I mentioned before - the grabbers were rebuilt more than once. Part of the problem was getting a strong enough grip; the other part was getting the
'fingers' of the grabbers out of the way of each other when the whole cube was being rotated -you'll notice that the left and right grabbers hold the cube
near the edge to keep the fingers short. Having solved these problems, there was still the problem of 'slop' or 'gear lash' in the left and right drive trains.
Most of this was absorbed by putting the rotation sensors on the worm drive axles. However, the worm screws are a *tiny* bit too short to fit snugly -
they travel a little when the motor direction is reversed. To cure this I tried a suggestion from John Barnes -http://news.lugnet.com/robotics/?n=14854
and cut thin shims out of the plastic insert tray from inside a LEGO box. Two shims on each drive axle fixed the worm gear nicely in position so that the
gear lash -although still just detectable was *nearly* within the tolerance of the cube for repeated turning.
The final problem is making sure that the faces of the cube are kept in orthogonal alignment. A standard Rubik's Cube has side dimensions *just* larger
than 7 LEGO studs. Fortunately there is enough flex in the joints of LEGO Technic to absorb the tiny additional dimension. Each grabber arm is fitted
with reverse slopes that force the cube into the correct orthogonal alignment as the grabbers close. However, the rotation sensors for the LEFT
and RIGHT grabbers occasionally lost track of their position and had to be manually tweaked during a solution. There was a also a problem that the
rotation sensors were on the same axle as the worm screw turning the turntable. When the cube was a little stiff, even if the worm screw had performed the correct number of rotations to turn the cube face 90, the LEGO pieces of the grabber had enough flex that the grabber was slightly twisted and the face did not make it all the way around to the 90 point. Therefore I scrapped the rotation sensors and put two touch sensors at the limits of the quarter turn of the turntable -similar to the bottom grabber. I built a "toucher" attached to the rotating part of the large turntable, and this seemed to compensate better for the twisting of the other LEGO elements of the grabber during stiff turns.
The disadvantage of the touch sensor approach, of course, is that the grabbers can no longer make a full 180 turn, so there is more time taken repositioning the side grabbers. The robot averages one face rotation every 30 seconds.
5. Inputting the initial -unsolved state of the cube.
The longest part of the this project involved writing the color recognition software. I downloaded the Logitech Quick Cam SDK from the Logitech site -the Vision Cam is a repackaged Logitech Quick Cam and used VB5 to write a fairly decent program -good enough to distribute if anyone wants a copy. The color recognition is reasonably robust -about one error every two cubes so I incorporated a feature that requires you to confirm that each face has been correctly scanned -and, optionally, allows you to correct the input manually before it scans the next face. The software requires calibration with a solved cube under the particular lighting conditions, and it is quite finicky about changes in lighting conditions. I also left in the earlier manual input option so that you can get a solved cube for calibration, or in case anyone who doesn't have a Vision Cam wants to try this.
Briefly, the software sends a message to the top RCX asking it to present one face of the cube to the video camera. The computer captures a frame from the video camera, and scans a 50x50 pixel area of each color patch to find the median red, green and blue -RGB color values for each color patch on the face. The RGB values are converted to D55 compensated CIE L*a*b* coordinates, and then the CIE values are trigonometrically compared to the calibration values to find the closest match. The computer then asks the robot to show it the next face, and the process is repeated until all the faces have been scanned.
6. General solution to the Rubik's cube.
There are any many general solutions to the 3^3 Rubik's Cube on the internet -http://www.rubikscube.com/cubesolutionother.html
NOTE: The NQC source code files for the two RCXs is are too large to upload to the invention slot here in Mindstorms - apparently there's a 15k limit, while the code for RCX1 alone is 19k. Anyone who wants the NQC source can e-mail me -envcons at ameritech dot net.
-
* Rubik and Rubik's Cube are Registered Trademarks of Seven Towns Limited.
Actually the court is still out on the status of retail purchased software. In Galoob Vs Nintendo, the court came down on the side that software is purchased and can be modified for the whims of the user (The case was about the GameGenie.) Of course, copyright still applies. The legality of shrink-wraped licenses is entirely contingent on the question "is copying the program to RAM and to the hard-disk is upication" - you would need a license to do this if you diden't own the copyright, or if "useing the program is just that - using the program."
The courts have flip-floped on this issue, and no big-software-vendor is anxious to get a ruleing, as the argument that there are many devices that do the same thing that don't need to have a licence to copy their 'software' exist today: all audio CD players make a temporaty copy in the DAC, all VCR/TVs make a temporary copy on phosphor on the screen and all DVD's make copies on the screen as well as a copy in the MPEGII decoder chips.
Actually, a F-14 would be really cool for one really important reason: you can eject when nesessary.
Actually, if memory serves, Tera finished their first MTA computer before they purchased Cray. Seymour, no doubt, had plans of his own before he died, but Tera effort was home-grown. When I was researching Tera as a stock, Tera wanted to switch to CMOS for the cost savings involved. The heat was a problem, but the costs of GaAs was the primary motivation to switch according to their fileings with the SEC.
Terra (before they bought Cray and it's name from SGI) made their first shipped computer with GaAs.
m l
Heres a link
http://www.cadence.com/success_stories/terra.ht
A lot of people don't think of it this way, but .NET is an 'Embrase(sic) and Extend' on the OS level. If Microsoft has it's way, it won't matter what OS your desktop runs, .NET will be the platform. Just as now, MS Windows dosen't care what video card you use. .NET is an attempt to make what OS you use irelevent, and of course .NET and Microsoft .NET services are going to cost money.