@Mindstormscreator NXT-G does just fine... it's like any other language - it does exactly what you tell it to. For PnP, it will run for at least three hours without needing any sort of recalibration, and keeps sub-degree positioning accuracy.
@brdavis5 Cool. But, I would have to disagree about every language doing exactly what you tell it to do. In reality, higher level programming languages pump out machine language statements to attempt to complete what you want to do in the langage, which may work differently depending on the language, so the only real way to get it do to exactly what you want is to program in Assembly, or machine code.
@Mindstormscreator True... but often, that's a case of not understand what you "asked" it to do in the 1st place :). It's rare that a language is doing something "wrong"... it's far FAR more common that the user simply assumes what the language does is what they *think* it will do, & is then upset (& more often than not blames the language) when their concept of reality doesn't match actual reality.
NXT-G works fine. But only if you understand what it's actually doing, not just your assumption
@slashsonic427 Yeah, it should work with a variety of things. For round or irregular objects like Tootsie rolls, I'd make the end a gripping claw or hand (spring-powered, passive... not requiring another motor). But it should function just fine.
@onfe1 The music here is Mammagamma by The Alan Parson's Project. I'm trying to use my own soundtracks now, to avoid IP issues in the future... although YT has handled them pretty well I think with music ads.
@Fandresvc Hmmm... because I was using the term 'discrimination' in the proper way? If this was looking at people, perhaps you could construe it as improper... but we're talking about little plastic bricks here :).
@banesos What do you mean? The NXT kit costs around $250 to $300 here in the US, and the arm can be built with not too much more than that. All told, this version of PnP probably could retail for $340 dollars or so.
@Arendseye7 It doesn't know when a pallet is restocked. When a pallet runs out, it just moves on to the next one, and continues checking them all until it finds a brick. It finds a brick by knowing if there is one on the "finger" at the end of the arm. There are actually two inputs (there is a touch sensor it uses to determine the absolute position of the arm), and it can use the motor encoders to "feel" the size of the brick on the "finger" as well.
@zeeman674 Go to LEGO's NXTlog, and search for user "brdavis42" or the creation "PnP". The instructions for the arm are there, as well as the program (although it's on NXT-G 1.0; you may need to update it to 2.0 if that's what you use).
@brdavis5 Tried to get it the NXTlog, but apparently there is something wrong with my location. Can you send me some of your own material by email? Would really appreciate it. Grtz Björn
Instead of an external mounted colour sensor. Wouldn't a sensor on the arm itself make the process a lot faster, as every time your robot would go to a specific position to scan the colour.
@avatar835 It might, but the goal wasn't to make things as fast as possible (there are far faster ways to sort things with the NXT), it was to have an interesting mechanism with "something to do". That said, putting the color sensor on the arm adds some complications as well. First, *anything* you do to increase the mass of the moving arm will increase drift and backlash, forcing the program to compensate and adjust more. Second, another stiff wire would have exasperated this problem further.
@randyooo54 To establish the "zero" for rotation, just have the arm rotate into a "hard stop" (both in terms of altitude and azimuth), relaxing when it stalls out. Now the program knows exactly where the arm is, every time, and bases all moves relative to that. The result is a zero-work start-up: PnP could come out of the box, run the program, and it simply worked.
@randyooo54 This is all in NXT-G 1.0, and as you can see there's no drift in absolute position (also, there's no inaccuracy due to gear backlash). To move to absolute positions, you simply... move to absolute positions. The program keeps track of how far away it is from the "home position", so it always knows where the arm is. I'm *not* depending on the FW to do this - the NXT-G program itself watches the motor encoders, & keeps track.
Very nice creation. I've finally dove back into the world of lego now that I am "grown up" and am having more fun then ever! Simple machines and efficient code have always impressed me and your build is the poster child for that!
Thank you - that's pretty much what I was trying for. I really need to revisit this, since with two NXTs you could (in principal) coordinate three independent arms.
That would be a sight to see! I am now on the 4th revision of my own pnp unit and am stumbling thru the nxt g code system to try and implement PID control. I found your code on nxtlog and will look to that for help.
one thing that I'm not very sure though: In the final demo, how the robot "know" the first line has been restocked? I didn't see any sensor to check the pallet in the line.
It doesn't. If it tries to detect the color of a brick and finds there's no brick on the fingers, it assumes that pallet is empty, and moves on to the next. When that happens on the third pallet, it goes back and tries the first one again, continuing to try each pallet until it finds a brick, and starts sorting again.
Ah! Now I see that. Bricks on the third pallet didn't slide down and that's why the robot went to the first pallet again. I kept on wondering why the robot will move to 1st pallet when there are 2 bricks left on the 3rd pallet
LOL i love it its really nice, i made an almost exact copy and programming using my NXT and by staring at this video paused for almost ten hours XD -lol
I'm glad you liked it, and would love to see another one in action if you ever pop it onto YT. I did, actually, document the instructions for the arm on NXTlog (which might have been easier than 10 hours of staring at YT :) ).
"Please answer fast" only works if I happen to read it :).
I don't have the plans handy I fear: I'd just rebuild it from scratch, as it's a very simple mechanism. If for some reason you can't mange it from the NXTlog files, use the pictures in the NXTlog project and the video to try it yourself... after all, doing it yourself is most of the fun!
A video would be a poor way to show you how to create it - plans would be better. I have put both the construction plans (in the form of LDD files) and the NXT-G programs up on LEGO's "Mindstorms NXTlog" site - just go there, and search for "PnP"
Thanks. This really started out as just a "how well can this be done" exercise, and ended up to be much more. I really need to find the time to expand the idea further (multiple robots with multiple interlocking tasks).
I'm glad you like it... and trust me, I know *hundreds* of adults that "play with LEGO". In fact, sometimes we organize large conventions in hotels, etc. You just haven't run into us before now... but we're out there :)
Thank you, and I'd love to make another video... but only once I get something *new* worth making a video of. Seeing the same thing twice isn't nearly as interesting as seeing something new (even if done with similar hardware).
A couple of reasons. First, I wanted the arm to be as simple as possible; it's not built for color sorting, it's built for almost anything, and I wanted to keep it general. Second, another sensor on the arm would introduce another wire to handle in turns ( a problem, with the stiffness of the wires). Finally, the "fingers" need to be very narrow to get at things, and making the hand as wide as the color sensor would have stopped that (it also would make it difficult to not "bump" a block).
Yes... actually, I have three different shades of purple, and I think there are something like five that have been produced. There are a LOT of colors out there.
Thank you - it's not too hard to come up with a lot of various mechanisms that can be pushed, tilted, or lifted by the PnP arm, so it lends itself to a lot of variety. But yes, that's a nice mechanism :)
Actually, I'm pretty certain they are (at least if you are using the NXT motors). Those are just normal motors, nothing special about them, but I wrote the program to very carefully move to positions (not just move certain distances). It's the difference between walking five steps forward and five steps back a couple of dozen times, or moving between two defined points. The second is *much* more accurate.
any gearing at all is going to increase gear slop in the system. In some cases gearing the correct way might improve things, but in others it could actually decrease the accuracy. Figure it out beforehand, or test extensively.
I'm not sure what you mean, but PnP does use two sensors in this implementation. One touch sensor (used so the robot can "calibrate" an absolute position initially), and the color sensor.
im still getting used to the mindstorms nxt program, what do you do after the robot brings the lego infront on the sensor and reads it, like how do you program it what to do if is a certain color?
I simply use a Switch structure: if the sensor reads one color, it executes a certain pre-programed sequence of moves, and if it reads a different color, it executes a different sequence.
Heres one thing you could do. add a few black bricks into the system.(to represent defect bricks) Then lift the brick into a "defect" channel that sends it out of the system and have the third motor conected to that with an alternate path so that it can correct itself in the rare case of getting a color wrong.
I can't actually do that with black bricks... as if the color sensor detects black, that's how it knows there's no brick currently on the hand, and thus that the pallet is empty. But the idea is a good one (just use a different color).
Thank you... not nearly the speed of yours, but amazingly fun to watch none-the-less. Curiously, I didn't intentionally copy DuckPro's feed system, but functionally it's identical (I'd forgotten DuckPro). Thank you for the inspiration!
I exited my Dark Ages a little too late for that... but a Project X entry was the first stationary robot I ever built. I never got it moving fast, but in the end the idea was refined into my 3T robot (playing Tic-Tac-Toe; another of my YT videos).
The 'Pick' racks (or pallets) are at preprogrammed locations in this example (fixed relative positions). In fact even that limit switch is never used after the initial calibration - once the program knows the position of the arm, it never needs to verify it again. The movements here are both constant velocity and accelerating (both are used), with the arm slowing down as it approaches a target position.
Since the NXT can read the position of the motors, you can program it to move the arm "up" until the motor stalls (detecting a stall is easy: the motor encoder shows the motor isn't moving). If there is a brick there, the arm will "stall" at one position, but if there's a plate there, the arm would "stall" at a different location. By comparing the positions, you can tell where the arm was blocked, and therefore what might be in the way.
That's a very neat mechanism Brian! Maybe it's time for brick sorter 6:) Though the brick sorter ("LEGO Mindstorms NXT Color Sorter") I last created didn't use linear motion either. (Or does it? I'm not completely sure if I'm right) It used an extra motor for gripping the bricks, but this was also required for precise measurement of the sensor.
Thank you Laurens200. Yours doesn't use linear motion either, but one of my goals here was to show you could do very precise, level placement of elements without linear motion, (in the original project I also had other needs for the 3rd motor). Perhaps the more important thing (to me), however, is that it's *not* really a color sorter - I used that example because it was familiar to people, but PnP is a more general purpose machine. Sorting by colors is just one possible task.
Not long, actually - the hardware only took a couple of days, one for the PnP arm, and one for the lever-dumped chute. Programming it only took a couple of hours, mostly to get the positions right (this could easily be a "teachable" robot you program by moving it to waypoints, I've just not done that... yet). But I built this based on a lot of previous work: the self-aligning pallets, the positioning code (a single My Block), etc.
excellent industrial engineering example very slick and simple design - great use of gravity... oh ya perfect with hitechnic color sensor, ilov it when it waves the brick at the sensor,, Thanks for sharing - MA
Thanks! Yes, I like the "test wave" as well. It looks very nice, but works pretty well too. If you watch closely, you'll see it doesn't always complete it either - it only "waves" it until it gets a valid reading, and then stops, so sometimes the "wave" is long, sometimes short... but it doesn't matter where it stops, because the next positions are absolutely specified (not like "go forward 50°", but something like "go to position 230°").
Needs more cowbell.
zumerian 3 months ago
And this was programmed in NXT-G? And I thought NXT-G did a poor job at motor precision.
Mindstormscreator 7 months ago
@Mindstormscreator NXT-G does just fine... it's like any other language - it does exactly what you tell it to. For PnP, it will run for at least three hours without needing any sort of recalibration, and keeps sub-degree positioning accuracy.
brdavis5 7 months ago
@brdavis5 Cool. But, I would have to disagree about every language doing exactly what you tell it to do. In reality, higher level programming languages pump out machine language statements to attempt to complete what you want to do in the langage, which may work differently depending on the language, so the only real way to get it do to exactly what you want is to program in Assembly, or machine code.
Mindstormscreator 7 months ago
@Mindstormscreator True... but often, that's a case of not understand what you "asked" it to do in the 1st place :). It's rare that a language is doing something "wrong"... it's far FAR more common that the user simply assumes what the language does is what they *think* it will do, & is then upset (& more often than not blames the language) when their concept of reality doesn't match actual reality.
NXT-G works fine. But only if you understand what it's actually doing, not just your assumption
brdavis5 7 months ago
@brdavis5 I understand what you are saying.
Well besides that, awesome robot :)
Mindstormscreator 7 months ago
Racist Robot.
CrackerGuy007 9 months ago
Soooooooooooooooooooooooo! thats your first start to make a factory huh? :P
r2darky 10 months ago
@r2darky Nope - this is just a 2 DOF arm with a self-leveling EOAT. You start with pieces... and build up :)
brdavis5 10 months ago
man i love this toy soooooo much it is always going to be perfect for kids of all ages, but not just kids.
Gargos98 11 months ago
@Gargos98
it isnt just for kids...
TheViberiser 3 months ago
beautiful! what a wonderful machine
tyxas 1 year ago
@tyxas Thank you :)
brdavis5 1 year ago
could you do that with tootsie rolls?
slashsonic427 1 year ago
@slashsonic427 Yeah, it should work with a variety of things. For round or irregular objects like Tootsie rolls, I'd make the end a gripping claw or hand (spring-powered, passive... not requiring another motor). But it should function just fine.
brdavis5 1 year ago
Where do you get the music
Nxt arriving on Friday so exited
onfe1 1 year ago
@onfe1 The music here is Mammagamma by The Alan Parson's Project. I'm trying to use my own soundtracks now, to avoid IP issues in the future... although YT has handled them pretty well I think with music ads.
brdavis5 1 year ago
Finally the nxt set is ordered I might be able to do this warehouse version
Onfe1
onfe1 1 year ago
color discrimination... sounds racist... why not color sorting?
Fandresvc 1 year ago 2
@Fandresvc Hmmm... because I was using the term 'discrimination' in the proper way? If this was looking at people, perhaps you could construe it as improper... but we're talking about little plastic bricks here :).
brdavis5 1 year ago 6
@brdavis5 yeah i know i know, it just looked funny so i pointed it out
Fandresvc 1 year ago
Oh not CID, vid
onfe1 1 year ago
Well il start as soon as I get one, your CID is great anyway.
onfe1 1 year ago
One problem I Havant got the nxt yet
onfe1 1 year ago
@onfe1 Well... then yes, that's a problem :)
brdavis5 1 year ago
I am working on a ware house version of your pnp design I will post it when I'm done!
onfe1 1 year ago
@onfe1 I look forward to seeing it! Let me know here when you have it, or try to link it to this video.
brdavis5 1 year ago
how much is that lego?
banesos 1 year ago
@banesos What do you mean? The NXT kit costs around $250 to $300 here in the US, and the arm can be built with not too much more than that. All told, this version of PnP probably could retail for $340 dollars or so.
brdavis5 1 year ago
Question, how does the arm know when a palet is restocked, I can't figure it out cus I see one input and two output (motors obviously)
Arendseye7 1 year ago
@Arendseye7 It doesn't know when a pallet is restocked. When a pallet runs out, it just moves on to the next one, and continues checking them all until it finds a brick. It finds a brick by knowing if there is one on the "finger" at the end of the arm. There are actually two inputs (there is a touch sensor it uses to determine the absolute position of the arm), and it can use the motor encoders to "feel" the size of the brick on the "finger" as well.
brdavis5 1 year ago
awesome
auburn2amd 1 year ago
cool
mrollercoasterman 1 year ago
Okay thanks
zeeman674 1 year ago
I was joking in a way xD but i might as well go ahead what URL are the instructions posted at?
zeeman674 1 year ago
@zeeman674 Go to LEGO's NXTlog, and search for user "brdavis42" or the creation "PnP". The instructions for the arm are there, as well as the program (although it's on NXT-G 1.0; you may need to update it to 2.0 if that's what you use).
brdavis5 1 year ago
@brdavis5 Tried to get it the NXTlog, but apparently there is something wrong with my location. Can you send me some of your own material by email? Would really appreciate it. Grtz Björn
TheLexhoya 1 year ago
I can has?
zeeman674 1 year ago
@zeeman674 Absolutely! As soon as you build it, you can has it. Since I put all the instructions on-line, that's all your responsibility now :).
brdavis5 1 year ago
My six year old LOVES this. :)
bitobonnie 1 year ago
@bitobonnie I'm glad. The nice thing is the construction is easy enough your six year old can build it :)
brdavis5 1 year ago
Instead of an external mounted colour sensor. Wouldn't a sensor on the arm itself make the process a lot faster, as every time your robot would go to a specific position to scan the colour.
avatar835 1 year ago
@avatar835 It might, but the goal wasn't to make things as fast as possible (there are far faster ways to sort things with the NXT), it was to have an interesting mechanism with "something to do". That said, putting the color sensor on the arm adds some complications as well. First, *anything* you do to increase the mass of the moving arm will increase drift and backlash, forcing the program to compensate and adjust more. Second, another stiff wire would have exasperated this problem further.
brdavis5 1 year ago
''Color discrimination''
LOL a racist NXT
rotjesenmatjes 1 year ago
How do you calibrate it, i have to eyeball it
randyooo54 1 year ago
@randyooo54 To establish the "zero" for rotation, just have the arm rotate into a "hard stop" (both in terms of altitude and azimuth), relaxing when it stalls out. Now the program knows exactly where the arm is, every time, and bases all moves relative to that. The result is a zero-work start-up: PnP could come out of the box, run the program, and it simply worked.
brdavis5 1 year ago
@brdavis5 thx
i think...
randyooo54 1 year ago
So, if it goes foward 200 degrees, the program calculate and moves it to that absolute position?
If so, maybe my math was wrong...
randyooo54 1 year ago
How can u move to absolute positions?
What programming language is this in?
I built one similar and programmer with nxt-g, but there is an accuracy drift (with nxt-g 1.0)
I figured how to do this with a light sensor
randyooo54 1 year ago
@randyooo54 This is all in NXT-G 1.0, and as you can see there's no drift in absolute position (also, there's no inaccuracy due to gear backlash). To move to absolute positions, you simply... move to absolute positions. The program keeps track of how far away it is from the "home position", so it always knows where the arm is. I'm *not* depending on the FW to do this - the NXT-G program itself watches the motor encoders, & keeps track.
brdavis5 1 year ago
u rock:)
jordanxbox360222 1 year ago
very very impressive absolutely fab i may try a simpler version of something like this if i have time!
blingboy796 1 year ago
nice
TestMyVidsOut 1 year ago
brilliant video
lmogden1 1 year ago
Very nice creation. I've finally dove back into the world of lego now that I am "grown up" and am having more fun then ever! Simple machines and efficient code have always impressed me and your build is the poster child for that!
Flipper118118 1 year ago
Thank you - that's pretty much what I was trying for. I really need to revisit this, since with two NXTs you could (in principal) coordinate three independent arms.
brdavis5 1 year ago
That would be a sight to see! I am now on the 4th revision of my own pnp unit and am stumbling thru the nxt g code system to try and implement PID control. I found your code on nxtlog and will look to that for help.
Flipper118118 1 year ago
one thing that I'm not very sure though: In the final demo, how the robot "know" the first line has been restocked? I didn't see any sensor to check the pallet in the line.
faiko 1 year ago
It doesn't. If it tries to detect the color of a brick and finds there's no brick on the fingers, it assumes that pallet is empty, and moves on to the next. When that happens on the third pallet, it goes back and tries the first one again, continuing to try each pallet until it finds a brick, and starts sorting again.
brdavis5 1 year ago
Ah! Now I see that. Bricks on the third pallet didn't slide down and that's why the robot went to the first pallet again. I kept on wondering why the robot will move to 1st pallet when there are 2 bricks left on the 3rd pallet
I didn't pay a close attention at all.
faiko 1 year ago
It ends up moving fast, so it's easy to miss in the motion what it's actually "thinking" about.
brdavis5 1 year ago
Great machine and great video!
SeanyPMac 2 years ago
LOL i love it its really nice, i made an almost exact copy and programming using my NXT and by staring at this video paused for almost ten hours XD -lol
Gecko400Lego 2 years ago
I'm glad you liked it, and would love to see another one in action if you ever pop it onto YT. I did, actually, document the instructions for the arm on NXTlog (which might have been easier than 10 hours of staring at YT :) ).
brdavis5 2 years ago
cant download something is wrong can u please send me the building instructions and programing through my hotmail?
please answer fast!
Robert
robbaw08 2 years ago
"Please answer fast" only works if I happen to read it :).
I don't have the plans handy I fear: I'd just rebuild it from scratch, as it's a very simple mechanism. If for some reason you can't mange it from the NXTlog files, use the pictures in the NXTlog project and the video to try it yourself... after all, doing it yourself is most of the fun!
brdavis5 2 years ago
Muito Bom!!!
flaviogfernandes 2 years ago
Really nice project!
Corney28 2 years ago
hey, can u make a video on how to make that robot?? cause i rly wanna see how it works!! pls reply
benben12345678912346 2 years ago
A video would be a poor way to show you how to create it - plans would be better. I have put both the construction plans (in the form of LDD files) and the NXT-G programs up on LEGO's "Mindstorms NXTlog" site - just go there, and search for "PnP"
brdavis5 2 years ago
thanks man!!
benben12345678912346 2 years ago
epic im subing
stickemboy225 2 years ago
dude, you are just awesome with lego and robotics
SamzulXD 2 years ago
Thanks. This really started out as just a "how well can this be done" exercise, and ended up to be much more. I really need to find the time to expand the idea further (multiple robots with multiple interlocking tasks).
brdavis5 2 years ago
This is the coolest thing I have seen.
And you are the oldest Person I have seen (any where.) that play's with lego's
joebobers 2 years ago
I'm glad you like it... and trust me, I know *hundreds* of adults that "play with LEGO". In fact, sometimes we organize large conventions in hotels, etc. You just haven't run into us before now... but we're out there :)
brdavis5 2 years ago
cool dude...
najmi7264 2 years ago
Can you please make another video about the PnP? This one was awesome! 5/5
nikobroo 2 years ago
Thank you, and I'd love to make another video... but only once I get something *new* worth making a video of. Seeing the same thing twice isn't nearly as interesting as seeing something new (even if done with similar hardware).
brdavis5 2 years ago
Nice!
Why is not the color sensor on the grabbing arm? Would speed things up a lot, especially to detect an empty chute.
4905354 2 years ago
A couple of reasons. First, I wanted the arm to be as simple as possible; it's not built for color sorting, it's built for almost anything, and I wanted to keep it general. Second, another sensor on the arm would introduce another wire to handle in turns ( a problem, with the stiffness of the wires). Finally, the "fingers" need to be very narrow to get at things, and making the hand as wide as the color sensor would have stopped that (it also would make it difficult to not "bump" a block).
brdavis5 2 years ago
<3 You should work on a Factory men ...
iRouRoui 2 years ago
I plan to, it's just a question of finding the time :)
brdavis5 2 years ago
There are purple lego bricks???
3rdMayhem 2 years ago
Yes... actually, I have three different shades of purple, and I think there are something like five that have been produced. There are a LOT of colors out there.
brdavis5 2 years ago
Kind of hard to give precise instructions in a 500 character comment :). You need to go to Mindstorms NXTlog (a LEGO-run site), and search for "PnP.
brdavis5 2 years ago
The release mechanism is really cool
buttonsmasher94 2 years ago
Thank you - it's not too hard to come up with a lot of various mechanisms that can be pushed, tilted, or lifted by the PnP arm, so it lends itself to a lot of variety. But yes, that's a nice mechanism :)
brdavis5 2 years ago
friggin amazin ^_^
ElChrisman99 2 years ago
Rely a gooooood job!!!!!
Congratulations!
JL
jlbruni 2 years ago
thats pretty cool
MMichaud93 2 years ago
Thank you :)
brdavis5 2 years ago
This is a beautiful creation!! Very precise and simply awesome.
robopiano 2 years ago
Where can I download your program for precise control of motors?
Mato0092 2 years ago
If you search on LEGO's website 'NXTlog' for 'PnP' you'll find both building instructions and programs for this.
brdavis5 2 years ago
ehh something is wrong with my motors(( they move at different speeds :(
NXTrocks 2 years ago
very nice, my motors arent as accurate
XBillums 2 years ago
Actually, I'm pretty certain they are (at least if you are using the NXT motors). Those are just normal motors, nothing special about them, but I wrote the program to very carefully move to positions (not just move certain distances). It's the difference between walking five steps forward and five steps back a couple of dozen times, or moving between two defined points. The second is *much* more accurate.
brdavis5 2 years ago
maybe it would help if I were to use different Gear ratios. Would using a small gear on a large gear improve the accuracy of the motors?
XBillums 2 years ago
any gearing at all is going to increase gear slop in the system. In some cases gearing the correct way might improve things, but in others it could actually decrease the accuracy. Figure it out beforehand, or test extensively.
brdavis5 2 years ago
Also, how do you create the brick holder? Ive been trying to figure this out for a while.
robloxperson23 3 years ago
If you search for "PnP" on LEGO's NXTLog, you can find some pictures of it, that should show enough to give you an idea.
brdavis5 3 years ago
Thanks for your help!
robloxperson23 3 years ago
What is the gray wire coming out of the sensor port for?
robloxperson23 3 years ago
I'm not sure what you mean, but PnP does use two sensors in this implementation. One touch sensor (used so the robot can "calibrate" an absolute position initially), and the color sensor.
brdavis5 3 years ago
im still getting used to the mindstorms nxt program, what do you do after the robot brings the lego infront on the sensor and reads it, like how do you program it what to do if is a certain color?
lego5engineer 3 years ago
I simply use a Switch structure: if the sensor reads one color, it executes a certain pre-programed sequence of moves, and if it reads a different color, it executes a different sequence.
brdavis5 3 years ago
excellent
mynameisjoedavis 3 years ago
Here's a tip for what you can do: make the arm activate the lever, on a sound signal. For instance a clap.
Ancalagon94 3 years ago
That's actually a great suggestion - thank you!
brdavis5 3 years ago
Heres one thing you could do. add a few black bricks into the system.(to represent defect bricks) Then lift the brick into a "defect" channel that sends it out of the system and have the third motor conected to that with an alternate path so that it can correct itself in the rare case of getting a color wrong.
naetoru99 3 years ago
I can't actually do that with black bricks... as if the color sensor detects black, that's how it knows there's no brick currently on the hand, and thus that the pallet is empty. But the idea is a good one (just use a different color).
brdavis5 3 years ago
wow... none of my creations can compare to yours
gdawg176 3 years ago
Well... this certainly isn't my first creation. Maybe some of yours *will* compare to this... or even be better. Someday. Just keep building!
brdavis5 3 years ago
that is a beautiful machine great job
nooloo3000 3 years ago
Thank you!
brdavis5 3 years ago
Nice work :)
-Iain
duckjock 3 years ago
Thank you... not nearly the speed of yours, but amazingly fun to watch none-the-less. Curiously, I didn't intentionally copy DuckPro's feed system, but functionally it's identical (I'd forgotten DuckPro). Thank you for the inspiration!
brdavis5 3 years ago
Amazing! You should've been there for ProjectX ;)
darkivn 3 years ago
I exited my Dark Ages a little too late for that... but a Project X entry was the first stationary robot I ever built. I never got it moving fast, but in the end the idea was refined into my 3T robot (playing Tic-Tac-Toe; another of my YT videos).
brdavis5 3 years ago
i like this bot :)
AuKiiraa 3 years ago
me too
6364gg2 3 years ago
Beautiful concept.../me wants an NXT now...
agmlego 3 years ago
Nice work Brian!
Does this use accelerating movement or is it fixed speed?
Are your 'Pick' racks calibtrated like the 'Place' rack or are they fixed relative positions?
(I see how it detects the missing brick now, was being blind when I posted to lugnet..)
Parax77 3 years ago
waaaaaahhh!!!!
thats my name too
upsidedownsoup 3 years ago
The 'Pick' racks (or pallets) are at preprogrammed locations in this example (fixed relative positions). In fact even that limit switch is never used after the initial calibration - once the program knows the position of the arm, it never needs to verify it again. The movements here are both constant velocity and accelerating (both are used), with the arm slowing down as it approaches a target position.
brdavis5 3 years ago
That is awesome. Can you explain a little more about how it "feels" the size of the brick?
technicLogic 3 years ago
Since the NXT can read the position of the motors, you can program it to move the arm "up" until the motor stalls (detecting a stall is easy: the motor encoder shows the motor isn't moving). If there is a brick there, the arm will "stall" at one position, but if there's a plate there, the arm would "stall" at a different location. By comparing the positions, you can tell where the arm was blocked, and therefore what might be in the way.
brdavis5 3 years ago
That is really sick. I love lego machines like this. Nice job. Is that a color sensor or a normal light sensor? Can't wait for your next ting.
ghostviper 3 years ago
That's a color sensor from HiTechnic, although you could certainly sort some colors with a normal light sensor.
brdavis5 3 years ago
That's a very neat mechanism Brian! Maybe it's time for brick sorter 6:) Though the brick sorter ("LEGO Mindstorms NXT Color Sorter") I last created didn't use linear motion either. (Or does it? I'm not completely sure if I'm right) It used an extra motor for gripping the bricks, but this was also required for precise measurement of the sensor.
Laurens200 3 years ago
Thank you Laurens200. Yours doesn't use linear motion either, but one of my goals here was to show you could do very precise, level placement of elements without linear motion, (in the original project I also had other needs for the 3rd motor). Perhaps the more important thing (to me), however, is that it's *not* really a color sorter - I used that example because it was familiar to people, but PnP is a more general purpose machine. Sorting by colors is just one possible task.
brdavis5 3 years ago
FANTASTIC, COOL.
tiki820 3 years ago
Good job, how much time did you spend to build that?
Oamaok 3 years ago
Not long, actually - the hardware only took a couple of days, one for the PnP arm, and one for the lever-dumped chute. Programming it only took a couple of hours, mostly to get the positions right (this could easily be a "teachable" robot you program by moving it to waypoints, I've just not done that... yet). But I built this based on a lot of previous work: the self-aligning pallets, the positioning code (a single My Block), etc.
brdavis5 3 years ago
sweet
kingbionicle1 3 years ago
excellent industrial engineering example very slick and simple design - great use of gravity... oh ya perfect with hitechnic color sensor, ilov it when it waves the brick at the sensor,, Thanks for sharing - MA
bazmarc 3 years ago
Thanks! Yes, I like the "test wave" as well. It looks very nice, but works pretty well too. If you watch closely, you'll see it doesn't always complete it either - it only "waves" it until it gets a valid reading, and then stops, so sometimes the "wave" is long, sometimes short... but it doesn't matter where it stops, because the next positions are absolutely specified (not like "go forward 50°", but something like "go to position 230°").
brdavis5 3 years ago