Posted May 27, 20231 yr I finished my standard warehouse project. Last events it has been running more and more reliable, to the point of nearly no interventions anymore during 8+ hours runs per day. To challenge myself I've decided to turn this project even bigger by making it a sorting+storage GBC. Impressions from the last time it has been running at Brick Mania Blankenberge; Spoiler As I don't have many bricks to make the sorting part of the factory, I visited a LEGO store for the first time (and even 2 different ones this week, Lille/Wijnegem) ToDo / Process flowchart; Make a sorting station to bring the white/orange/other Lego balls to a filling station (I use other 14mm balls for testing now as I don't have any LEGO ones yet) [Intake of GBC] - Concept started Spoiler A ball pump provides a steady flow of balls to the color sensor. A small swinging arm quickly sorts the balls in the correct lane. Maximal speed at which the arm still can swing in time to the correct lane: 100balls/minute as can be seen in this video; Have an overflow bypass in case of issues with the EV3 system, or when the process is to slow for the 1ball/sec to be guaranteed - Not started Make a filling station for 30 balls [Preferably 3 or more stations] - Concept started Spoiler Using the many cheese pieces I used as filler for the cup I can line exactly 30balls up to fill my standard pallet. The pallet is nearly full, so that should make it pretty reliable to fill them with the max of 30balls per batch. Having the 6 axis robot take the filled pallets from the filling conveyor to the scissorlift, and store the pallet for some time - Done (Only programming required, mechanics stay the same) Make an installation to empty pallets that are taken out of the warehouse, some kind of tipping of the pallet [Exit of GBC] - Not started Spoiler Not many space to creat this machine, the scissor lift is certainly needed, to keep the robot arm up high. Make a conveyor system to bring empty pallets coming from the exit to the filling stations, or return them to the storage system - Done Make the conveyor system to automatically open the doors of the filling stations - Concept started Spoiler Using my multivalve setup I can now open 5 individual gates holding 30balls each with 5 small pneumatic cylinders, controlled by 2 motors only. Need to work out the final placement and pull long pneumatic tubes to every cylinder. Edit 20/08/'23: New tubing and placement multivalve incl pressure sensor finished. Find a new place to put the 2 EV3 units that control the current conveyors as the space will be needed, and 1 or 2 more EV3's will need to be added - Started, 2 EV3's added, still need 1 more I think Spoiler 2x EV3 added for the sorting + buffer conveyor. All cable managements finished for this part. Program everything using PyBricks MicroPython to make the factory work as intended and prevent deadlocks when pallets need to move within 30seconds from step to step and cross eachother - Started Spoiler Program a new GUI (Graphical User Interface) on the LMS-ESP32 using MicroPython, it will be less interactive as the current version I think, as it will need to run more autonomous - Not started So this will be a (very) long Work In Progress project, only issues are space shortage on the LEGO table and having a 14month old trying to take everything that's on it. EDIT: Current latest video will be posted here: Edited August 20, 20231 yr by Mr Jos Adding Spoiler tabs to make it better visible
May 29, 20231 yr Author I have been thinking a few days how to make the door opening and closing automatically when the pallet is in the correct spot, without using a motor for it. It has to hold the hits from the balls pushing the wall by gravity and when coming in, open by a pallet, and when the pallet rolls further or is taken away, close again so the next batch can be filled up. The combination of a spring system to hold the door closed, and a bigger force needed to open it up was hard as the pallets are transported on lego chain with nearly no grip. The solution I came up with is this, if it doesn't work well in the future I will need to change my conveyor design so it has something to open the gates. 2x1 liftarm goes through a 90° 1:1 gearbox and then drives a 1:1 chain to open the gate. Other side of the gate has a 24T with a towball inserted and a short white rubber band installed to pull the gate back in closed position.
July 13, 20231 yr Author I started recently with "Make a sorting station to bring the white/orange/other Lego balls to a filling station (I use other 14mm balls for testing now as I don't have any LEGO ones yet) [Intake of GBC]" A small conveyor leading to a ball pump, working with 1 motor brings the balls up, and at a steady interval. Depending on the motor speed the amount of balls per minute can be regulated. With this prototype I tested the max speed at the ballpump crank where the pump and sorting arm still work reliable. I ended at 600°/second = 100balls/minute exactly, so this is with 50balls each 30seconds good above the 30balls/30seconds GBC standard. Next step will be adding loading stations to each of the 4 paths, or maybe I will keep it at 3 stations+keep the 4th for bypass to keep the 30balls/30sec flow if the pallets move to slowly around later.
August 3, 20231 yr Author Bringing a few of my prototypes together now. Ball pump with feeding conveyor and small swingarm (2O 1I) followed by my multivalve setup controlling 5 individual valves (2O ~1I) fits on 1x EV3 (4O 2I). It can put the 4 kinds of balls each in a lane, 5th lane starts to be filled whenever a 31st ball is detected. Meanwhile the gate holding 30balls is being opened by the multivalve, when empty it gets closed again and it acts as the 5th lane now, waiting for another lane to be filled and changed over. So no dedicated color lanes and trying to keep everything running without having to stop the ball pump. Biggest task that needs to be done now is either make a roll or chain conveyor to bring new pallets to the 5 stations, and try to keep it all on 1x EV3 as well. This will be though as a corner transfer already needs 3motors. So any ideas are welcome, I also need to be able to take a full pallet from this conveyor with my large 6DOF arm, and then have all other pallets move on a place to fill all spots again. I would prefer to have a little gap between the pallets, but don't know either how I will do this. EDIT: Just noticed I'm running out of small chain pieces, so means I have around 2K+ in use now in all my MOC's, if anyone has a lot of these parts leftover I could use them well (don't dare to ask the wife for another order at the moment ) . Guess I'm going to take one machine down. Edited August 3, 20231 yr by Mr Jos
August 4, 20231 yr Author 19 hours ago, Mr Jos said: ... EDIT: Just noticed I'm running out of small chain pieces, so means I have around 2K+ in use now in all my MOC's, if anyone has a lot of these parts leftover I could use them well (don't dare to ask the wife for another order at the moment ) . Guess I'm going to take one machine down. Couldn't stop myself when I found that a local seller had loads of small chain pieces. Got 1K black, 0,5K LBG and 0,7K 3wide LBG chains extra now And the build continues! Yesterday already made a prototype to stop pallets on a conveyor without using a motor.
August 4, 20231 yr Author One mahooosive conveyor later. (And a roll/corner transfer added [Made by the youngest daughter] to make transports from the highbay possible.) Total chain conveyor length 90cm (so about 4m of small chains to make this 1 conveyor!) Next step will be adding locking levers that stop the next pallet so there is a gap between them. I should be able to position 5 pallets on the conveyor and have a 6th waiting on the corner transfer, to directly fill the gap when a pallet gets taken away.
August 7, 20231 yr Author Big changes to the GBC setup, Teardown of the old warehouse EV3 setup As I need to reroute cables, add new one, new power cables etctec I thought it would be better to label everything. EV3 taken away, as they were in the way of the 6axis robot to take pallets from the new large chain conveyor. They need to be mounted lower, scissorlift needs to go to another EV3, as I want all 4 roll conveyors on 1 brick, for perfect timing for positioning. Covered all the cables that power the 4x EV3 and 1x ESP32 to the end of the baseplate The 5 waiting stations have been added with long lanes coming from the sorter Pallets need to be modified still a bit New cables for the 2 new EV3 bricks, all nicely in cabletrays and covered Still to do mechanically; Extending the output conveyor to empty the pallets once they are taken out of the warehouse again. Still to do electrically & programming; Cabling just the Emergency-Stop [E-stop] and E-Reset, once I find a good place for them. And the balls output station that I need to invent still. Programming... Oh my god.. underestimated this. Having a 16month old that likes to climb on chairs, tables, already knows how to connect Lego and deconstruct it.. He is very fascinated by the GBC and loves to see the balls roll, but my programs have nearly no progress, constantly have to turn around, run after him. Hope he goes for a longer nap than 15minutes tomorrow.
August 8, 20231 yr Cool! What an epic and ambitious project. This could end up as the most advanced GBC ever . Thanks for sharing the updates.
August 14, 20231 yr Author On 8/8/2023 at 10:57 AM, ord said: Cool! What an epic and ambitious project. This could end up as the most advanced GBC ever . Thanks for sharing the updates. Thanks, big update this time. Video time. With a big thanks to @Pybricks to be able to program these complicated machines, and it works flawless. When the master brick is connected to the laptop I can see the complete communication flow, which makes it easy to debug. [These next 2 photos both have a bug highlighted] Next task will be extending the output chain conveyor, and add a machine to remove the balls from the pallet. All whilst staying underneath the 6-axis robot arm, so the scissor lift is really needed, to keep the wrist of the arm as far away as possible from the conveyor. Any comments/recommendations/feedback is greatly appreciated. Or just a thought on how you would remove the balls from the pallets once they are taken out of the warehouse. Edited August 15, 20231 yr by Mr Jos
August 14, 20231 yr Gloriously complicated! Beyond that, I don't have much to comment--I think it's too much above my level for much intelligent feedback!
August 16, 20231 yr Author On 8/15/2023 at 1:22 AM, 2GodBDGlory said: Gloriously complicated! Beyond that, I don't have much to comment--I think it's too much above my level for much intelligent feedback! Thanks! It's becoming hard to debug and get faster cycle times, because so much is happening all at the same time, can't watch at everything at once. When something does go wrong, I'm looking at the wrong machine every time. I had a small principle finished to empty pallets yesterday, but I don't have the parts needed. So I'll try to design something else.
August 20, 20231 yr Author Another chapter in the monologue. During the day had to install some new pneumatic lines (around 300meter), and wanted to clean up my build later in the evening as well. First some new correct length tubes with T-pieces for the main line. Then put all new correct length tubes to each cylinder, and used some Technic bricks as guiding blocks to make it nicer. I do want to replace these 1x2 Technic bricks with Green ones, if I ever find enough of them for sale somewhere. To make them look like Stauff clamps. This way the pressure sensor is repositioned, and good in view now. The pallet-rotator station is finished as well, but no photos yet, just a few videos, not worth uploading to YouTube, they are on FB. Now test this for some time, then add the warehouse, test it for some time. Then start designing the new GUI with controls for every machine part, to allow 10hours a day operation during events.
August 20, 20231 yr This project is absurd and awesome in its scope and scale, and in your commitment to continue building and improving it. I've seen large Lego builds before but this is beyond anything I've seen in its complexity. I wonder if you're ever going to call it "finished"? It would deserve a proper documentary film detailing every part and their design and construction.
August 20, 20231 yr This is insane! Joy to watch, even if there are some glitches in operation. I admire your dedication (and working space). Edited August 20, 20231 yr by Mikdun
August 21, 20231 yr Author On 8/20/2023 at 10:39 AM, howitzer said: This project is absurd and awesome in its scope and scale, and in your commitment to continue building and improving it. I've seen large Lego builds before but this is beyond anything I've seen in its complexity. I wonder if you're ever going to call it "finished"? It would deserve a proper documentary film detailing every part and their design and construction. Thanks, I was already thinking my original warehouse was "finished", guess it never really is. I would love to one day make a brick sorting machine that fills these pallets and then stores them. Later on request pull out the pallet and remove the wanted amount of pieces. One can dream... There are indeed so many mechanics in this build, and programming tricks, that all are not seen from the outside. It's just a pallet moving around, but deep down it's soooo much more. I can't make good video's, I know, but maybe one day it'll have a great detailed explanatory video. On 8/20/2023 at 1:12 PM, Mikdun said: This is insane! Joy to watch, even if there are some glitches in operation. I admire your dedication (and working space). Thanks, having to work with bricks that have so much bending at long lengths, and play in gears, makes it really a programming nightmare to get working flawless. The work space is each time growing. From the kitchen table to the old kitchen table, putting a bigger plate on the table, putting an extra table next to it for the 2nd laptop, storage space for finished machines under the staircase, don't know what I'll have to do when I want to make this machine bigger now. It just fits for the moment, but the 1,5 year old son is able to climb on the table, so I just hope it doesn't get destroyed soon.
August 29, 20231 yr Author On 8/21/2023 at 8:08 PM, Pumpernickelsputnik said: What a masterpiece! This is beautiful. How did you get so good? Loving mechanical principles. Trying to create something that hasn't been done before in Lego as it needs 'insider knowledge' on how the internals work, to look as real as possible. After having removed 45year old conveyors and installed some new conveyors this weekend in Holland, I did receive my 10 boxes of Quercetti 100pcs balls at home. [6€ / pack] Counting the amount of balls from every pack There were between 101 and 113 balls in each pack (instead of the 100 mentioned). At total 265 white, 264 red, 274 blue, 274 yellow. Looks pretty even, but some box had 40 whites, other one only 19 whites. Total 1077 balls from 10x100 packs, making it 0.056€ / ball. If Lego GBC balls would have been this cheap.. but yeah, not paying 1€+ per ball if I need 1000+ of them. I did compare it to my 100 balls I had been using for some time, new ones seemed glossy (but some not at all, like they skipped the glazing belt). I did start to sand the little molding part of the new ones, then I noticed this shiny layer melted, even under very light pressure. It became liquid again. EDIT: It wasn't the polish that melted... seems there was some hydraulic oil residue in one corner of my scotch brite pad. LOL. /EDIT So I think after some running all will lose their shiny layer, and polish the Lego bricks with it. Edited August 29, 20231 yr by Mr Jos Hydraulic oil issue.
September 3, 20231 yr Author One more engineering problem. Can't find the problem at all. I changed my WMS (Warehouse Management System) to hold more data (Pallet name, color of balls and amount). For some reason after shutting down the program, and reloading it I have a package loss. My WMS system continues by adding extra data, but as the data was lost partially, it now adds the color to the amount value, and crashes my whole WMS loading. I'm at a total loss, why there is a package not to be found, as it's just a .txt file overwritten constantly I have now managed to get the sorter reliable. Robot arm... mhmmm sometimes works fine then it gets nasty, throwing 30balls around. So far no video good enough for YouTube made as I still have some bugs to solve. GUI also not started at all.
September 3, 20231 yr Author One hour later... Still puzzled why my WMS worked for 2 years perfect with names only.. I did manage to pull the .txt file from the EV3 brick There's only WMS data for 8.333 pallets in the file. So on startup my program adds the missing 7 positions, making it 15.333/15 I never use #os.remove("wms_hb_outsidestatus.txt") during overwriting the data, so why would there be only 25 lines of code instead of 45... I thought it would just overwrite 1 line at a time. My old WMS was changed everytime a pallet was moved, now it happens in the mainloop constantly (maybe once every 10ms). I changed it because I now have so many pallets moving around, I was scared to be overwriting it 2x at the same time. If anyone would know how it exactly works, enlighten me.. I wouldn't mind if it only updates once every 2seconds, but I don't want it ever losing data if I shut down the program 'at the wrong time'.
September 3, 20231 yr On 8/16/2023 at 12:29 PM, Mr Jos said: Thanks! It's becoming hard to debug and get faster cycle times, because so much is happening all at the same time, can't watch at everything at once. When something does go wrong, I'm looking at the wrong machine every time. I had a small principle finished to empty pallets yesterday, but I don't have the parts needed. So I'll try to design something else. I can't help with programming but to help with physically debugging the system, set up video camera(s) to record the whole operation. You can then go back and look at the video to see what you missed.
September 3, 20231 yr Author 51 minutes ago, Lego Tom said: I can't help with programming but to help with physically debugging the system, set up video camera(s) to record the whole operation. You can then go back and look at the video to see what you missed. Yeah that's the best way to do it. Need to free up some space on my phone to record longer videos. Cloud storage full and phone as well. But I did manage to replicate the error with a simple loop. If I save the WMS offline with a 2000ms wait block in between saves, the chance is low that there's loss of data. with 0ms waiting between saves, near 100% chance on package loss. I did time the saving duration, a whopping 160 - 224ms, without any multithreading that is.. So need to find out the best time for saving the data. So for now I'll add a timer to save it only once every ".." seconds, and hope it doesn't get corrupted. I also added an "AND emergency_stop == False", this way I can stop the saving, and safely terminate the program. About 80% of the pallets are going around fine now. Stacker crane does seem to have little problems with too much friction from the 30balls + pallet weight. Still 25 days to solve the issues.
September 5, 20231 yr Sounds like your programming has run into the "ghost in the machine". LOL. I experienced this first hand this morning when I went to my local market and it rang up a bottle of water I was buying 61 times! Clerk said they had been having problems and thought it was fixed. Obviously not! In any event, you have an incredible build and I hope you figure it out and post more videos!
October 8, 20231 yr Author Well, the GBC logistics warehouse has been running 2x 8hours at the event last week. A few problems with pallets falling from the scissorlift and stacker crane, but it did run pretty ok (with 15balls / pallet). With 30 balls the weight was to much for the telescopic forks, bending the basket to much for reliable input into the racks. For this reason I want to redesign parts of this build completely now. So I started modelling the current build into Stud.Io again. I'm trying to make the instructions more modular now, by reusing a lot of assemblies and meanwhile make it possible to easily scale up the size of modules. The first part, the racks is now finished. The beginning (36storage positions) and end of the rack (24 storage positions) can now be expanded with a middle base plate adding 36 storage positions on each plate. After adding 4 middle plates, making a total of 204 pallet storage positions, it looks like this. The base for all my Lego machines I build, can now be seen in a recent video made for the machine building group I work for. I'm trying to figure out who the voice actor is, I do recognize him, but don't know the name. Extra points for who can help me settle my mind after 3 days of wondering who it is. Edited October 8, 20231 yr by Mr Jos embedding issues
October 14, 20231 yr Author "One week later" The 3D design is done, instructions not. But I build it all modular and in steps, so not going to put time in it now. Total parts 16215 according to the model info, but that includes 1 high bay baseplate extension (not in the render, as it makes it harder to see.) Now I can start deconstructing this model, don't know yet what I'll make next, but it will be some kind of machine.
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.