-
Posts
515 -
Joined
-
Last visited
Content Type
Profiles
Forums
Gallery
Everything posted by Mr Jos
-
Dacta Control Lab Software
Mr Jos replied to Dazmundo's topic in LEGO Technic, Mindstorms, Model Team and Scale Modeling
Pure awesomeness! #Drooling -
6 inline fake small engine
Mr Jos replied to jorgeopesi's topic in LEGO Technic, Mindstorms, Model Team and Scale Modeling
Ah ok, just thought I hadn't seen that piece of string before (that short/color/thickness) from Lego, and supposed as the purist you are, who doesn't like non-Lego parts being added to a MOC you would stick with a piece of original Lego string -
6 inline fake small engine
Mr Jos replied to jorgeopesi's topic in LEGO Technic, Mindstorms, Model Team and Scale Modeling
Is that thin piece of string from some Lego set? Good small, but looks more like the valves control of an engine with these lobes (no constant acceleration/deceleration). -
I should do this more, everytime I ask somewhere how it can be solved, I find the answer. I've been searching for a few hours before and failed. I printed the length of the string, and somehow "101" is 4 characters, "52" is 3, "0" is 2. So I needed to delete the last character to be able to convert it to an integer. Now I can finally add new boxes to any position (in or outside the rack). Just a little more programming for the communication to the master EV3 so he also knows about this new box. Next step, deleting a WMS position and I can finally start with a new Lego chapter to be added to this MOC.
-
I'm having a programming issue I can't seem to solve. [Issue has been solved in next post.] I have a 'touchscreen roller' that holds the storage location value as a string(text). But it's a number between 1 and 127. I can write a new name on the touchscreen, select with the roller the desired location to change the WMS as there has been manually a box added to the warehouse it did not know of yet. By a press of the button it should overwrite the WMS location with this new name. The location is the problem, my function takes it as an integer, but the roller output is a string. I've tried many things to change this 'text' to a 'number'. It should be possible I think? In this example "101" was selected by the roller, I can print the number (as text), but converting it to an integer keeps giving errors. It's one of the last things to add to my warehouse, I already have for the following finished the programming + testing; Selection in what mode the warehouse needs to startup (The master brick needs to wait for all bricks to be connected, so it needs to know if the robot will not start homing due to issues for example). Also a debug mode where it won't connect to any other brick, just for quick testing of new programation. The scrolling bar at the top is with current errors, the error page shows all errors that have been there since last press on the button 'refresh errors', so you can see what has gone wrong. I already added many possible issues, some of them need manual confirmation to restart that part of the machine. Each error triggers the orange light on the tower lamp so it's visual somethings needs your attention. Double clicking an error gives a popup with more information and potential ways to solve it. As can be seen with the next error. If the stacker crane tried to drive to a rack position, but the checks done determine that it's not positioned correctly it will give this error. The error will go away when 'Try again' is pushed, if the fault remains it will pop back up in the list and the tower light will go on again. (Ideally I would have a horn sound an alarm, but the EV3 is already doing to many tasks). A list where all stored boxes are shown by their name (and the rack location where they are). By clicking the checkbox near it, the stacker crane will take this pallet out of the warehouse to the robot arm. A page where all rack locations are visually showing which one is occupied or free. The free ones can be selected to manually choose where next pallets will go (very usefull to show longer driving/lifting). When this is compared to the actual rack, all the stored boxes can be found at the same positions, and visually shown by a red LED. An overview where boxes are outside the racks. Checkboxes show if there is a pallet at a conveyor/stacker crane/robot/storage near the robot. Manual control to adjust the speed of different parts of the installation (selected by the menu at the left top). Scissorlift will move slower up/down if speed is lowered. The height adjusts the up position by 1mm every step, for finetuning when the robot makes a pickup. The stacker crane will drive/lift slower and extend the fork slower, this is fun to watch it work more in slow motion. Instead of the fast maximum speeds I tried to make every machine work at. Last bit I did was reinforcing the corner transfer lifting system. It was suffering high degradation due to high forces bending the 90° angle brackets. I added 4 axles to hold these flat, now it runs like new.
-
Thank you! And for your help checking the NeoPixel timing, that the ESP32 sends the timing perfect. I will try with the newer firmware later if it eliminates (some) of the ghosting. Do you have an example of your small connectors to the NeoPixels? I don't have much space to add connectors/cables, as I want to keep them out of sight as much as possible. And that's pretty hard with a warehouse rack that is only 1 stud wide everywhere! Hiding 6 cables (+connectors) behind 8mm isn't that easy.
-
Finally learned how to get .png onto the screen. Now this will bring my GUI to a whole other level... Also just finished my last connection to be able to break down the MOC fast and rebuild at events. Warehouse racks and conveyors can now be separated very easy in 20seconds. Just the NeoPixel data/5V line and the bottom rail where the stacker crane drives on need to be opened up.
-
Pybricks Q&A
Mr Jos replied to Pybricks's topic in LEGO Technic, Mindstorms, Model Team and Scale Modeling
#Removing the wms file for whatever reason you might need to delete it #os.remove("wms_hb_boxstatus.txt") #Create new file on first start ever create_file = open("wms_hb_boxstatus.txt", "a") create_file.write("") create_file.close() #Reading from offline file, store them in online list with open("wms_hb_boxstatus.txt") as retrieve_wms: wms_online_list = retrieve_wms.read().splitlines() #Adding extra positions at first start ever or expanding racks for x in range(total_storage_positions - len(wms_online_list)): wms_online_list.append("No box present") #Deleting extra positions when downsizing the racks for x in range(len(wms_online_list) - total_storage_positions): del wms_online_list[total_storage_positions:] #Store values from online list to the offline file def save_offline_wms(): with open("wms_hb_boxstatus.txt", "w") as backup_wms: for current_state in wms_online_list: backup_wms.write(current_state + "\n") def override_wms(): override_list = ["Gear 12T LBG", "Tile 3L LBG", "Tile 4L Black", "Liftarm 3L Yellow", "Pin 2L Black", "Gear 20T Blue", "Axle 2L Red", "Liftarm 11L Yellow", "MOTUS HANDLING", \ "Medium Actuator", "Small Chain Black", "Pin 3L Blue", "Gear Half 12T Tan", "Pin 3L Red", "Liftarm L 4x2 LBG", "Axle Hole Conn T1 LBG", "4Pin Conn LBG"] for x in range(len(wms_online_list)): if x < len(override_list): wms_online_list[x] = override_list[x] else: wms_online_list[x] = "No box present" os.remove("wms_hb_outsidestatus.txt") #Use hashtag # infront of next line of code if you DO NOT want to override! #override_wms() save_offline_wms() This is what I do in my warehouse to save the positions/names offline in a .txt file. -
The planned events for me this year are (smaller ones to start and not so far from home); 'Brick Event' at '9900 Eeklo, Belgium' date '1+2 October'. (Confirmed) Good that I make this list now, thought I already registred for the others, seems I didn't; 'Bricks for All Wetteren' at '9230 Wetteren, Belgium' date '3+4 September' (One I don't know yet if I can go, not subscribed) 'Brick Mania Harelbeke' at '8530 Harelbeke, Belgium' date '22+23 October'. (Subscribed, not confirmed yet) 'Name unknown' at '8500 Kortrijk, Belgium' date '28-30 December' (Not subscribed, but confirmed I would go) If all goes well at these small events I might consider bigger/more events with my MOC's (and further away). About the new thread, as this is completely about the new setup and a big change, I made it as a new topic, so it doesn't get lost as a comment. But if an admin thinks it's better in 1 topic, feel free to merge the topics. I did not plan to update the old one anymore as that's about the Lego build (that is finished), all GUI updates will be here and feedback if it worked good at an event or not.
-
TL;DR: Video at the end. A long desired function for my warehouse was a HMI (Human Machine Interface) / GUI (Graphical User Interface) to control my warehouse with a better visibility than the EV3 non-backlight black/white screen with only 5 input buttons. When talking with Anton and Ste7an at TU Delft I came to the decision, to try their equipment to make my GUI. The LMS-ESP32 from Antonsmindstorms is connected to an input port of the master EV3 brick. The communication is done by their UARTremote between the ESP and EV3, with a custom cable. Power comes from my 10V 5A adaptar that already permanently charges my 5 EV3 bricks in this setup. The ILI9341 2,8" touchscreen I use has some problems (dead pixel/lines), currently awaiting delivery of 2 new screens to test if it's my setup or just a bad screen. A second thing I wanted was more visibilty for people looking at this MOC, about what was happening. For this I liked the NeoPixels from Antonsmindstorms. They come in strips of 6LEDs that can be separated in 2x3 LEDs. I used a total of 36x3 for my 60 warehouse positions. Each strip of 3 shows with the left LED the front storage state (full=red, empty=green, full+pickup request=red/white blinking, empty+dropoff request=green/white blinking), and the middle LED the backside storage for that rack. The right LED is not used and turned off. In this video they burn at 5% capacity, and it's enough, they are real eye blinding if used on 100%. Both strings of NeoPixels are connected to an IO port of the ESP. To show the state of the warehouse a strip of 6 LEDs is used to show the working. They burn at 40% when on. From top to bottom; White: Machine is starting/ending a part of the installation (Selected on the frontpage of the GUI with red/green buttons). Red: Machine is not working, no parts in manual/automatic mode or critical error (like Emergency Stop has been pushed). Orange: Less critical error, some parts of the machine will continue working but problems need to be solved for full operation (These errors scroll at the top of every screen, and can be seen on the error page). Green: Machine is in manual/automatic mode (partially/completely). Blue: Reset required to restart the installation. The current GUI has these pages; Startpage; For starting/stopping parts of the machine. Crane Input mode Manual / Automatic / Off Crane Output mode Manual / Automatic / Off Robot used Yes / No (If not, pallets are directly taken to the input chain conveyor to be taken in again) Conveyors On / Off (If turned off, the boxes will not move on the chain / roll conveyors, until turned on) Scrolling current errors at the top To the right; Current + older errors of the installation. With the refresh error button only current errors will remain in the error list. Double clicking an error gives more information about that specific error. Work in progress: Will add more error codes and potentially add buttons to directly solve them from the HMI. Screen downward; 3 tabs to control the flow of the pallets. At page 1 - Request box. A full list with all pallets stored IN the warehouse is shown here, and can be selected manually which one needs to be taken out. If the request has been send to the master EV3 it can be cancelled untill the order is send to the crane, then it will lock the request on screen. If automatic output is selected and no more manual requests are left over, it will randomly select and lock a pallet. At page 2 - Store box to. An array of checkboxes show every single storage position of the warehouse in order. The first 5x6 array is the backside of the warehouse, the lower 5x6 is the front 30 storage positions. Manual or automatic selection can be done and is shown with locked check on screen if the request has turned to an order. At page 3 - Robot storage. A full list with all pallets put down near the robot for Pick&Place. Manual or automatic selection can be done and is shown with locked check on screen if the request has turned to an order. Then there is to the right one more page now with Conveyor overview. It should show the state of every conveyor full/empty, but currently does not work correctly. Name of the items will be shown if there is enough place. It needs a background to better show what it is. With the dropdown menu I can show other screens here. The location of every pallet is stored with a WMS (Warehouse Management System). During operation after every move a .txt file gets updated that is saved on the EV3 master. On startup all data is loaded in the online WMS. Future plans for the GUI; Adding an operator panel for the 6DOF (6Degrees of Freedom robot arm). To adjust some calibration and pickup/dropoff positions with the touchscreen. Adding a page to change the parameters of machine parts, like if the height of the telescopic fork is not 100% correct (it has only 1mm margin to position correctly for picking up a pallet). Adding speed control for the crane/robot Adding error solving like when it sees an error in homing the telescopic fork that takes to long, after a visual check you could say it looks good and can continue. ... many more, if I can think it could be fun, I will add it (if it's possible). This is already stretching the capabilities of a 'Toy'. A few extra photo's / renders /programming of this MOC, I plan to go this year to 2/3 more events to show it to a bigger public. Enough talking, here is the video: Please leave a comment with what you think about this. What ideas you have to expand it / make it more public friendly. Or just ask a question! Huge thanks to Anton (Anton's Mindstorms Hacks) and Ste7an making it possible for me to make this GUI with their tools they have / time they invest in helping! And thanks at @Pybricks for having this easy to program MicroPython to make these kind of MOC's!
-
Thanks for your complete reply! It was very fun to do knowing I can remake it later if I ever take it down, or can help others with design elements. But there was also pain, making the PDF was very slow due to the old overheating laptop, will have to ask IT to install Studio on my work laptop to make it faster next time. Meanwhile I also started experimenting with the ESP32 board and NeoPixel RGB LED's I have from Antons Mindstorms Hacks. Huge, massive thanks to Ste7an for the help during setting everything up to work fine to the point I'm at now. I have tested communication between EV3 <-> ESP32, and changing a single LED intensity/color (but not together yet). 90LED's (30x3) will be used to show the status of the 60 storage locations, a 'tower lamp' for the status of the warehouse [3Led's for; Auto mode/Manual mode/Emergency Stop/Reset needed]. And possibly a few more to show more activity. Next is now testing changing the LED status from the EV3 program. If that all works fine I will try adding the touchscreen to have an interactive HMI (Human Machine Interface) to request pallets by name from a colored touchscreen connected to the ESP32. EDIT: I got the communication and control of the LEDs together working now. The 4 directional buttons on the EV3 are used to turn on the LED. The longer they are being pressed, the brighter they burn. Middle button turns them off. Ready to add 100 LEDs to the warehouse now.
-
https://rebrickable.com/mocs/MOC-115292/Mr_Jos/logistics-warehouse-crane-robot-conveyors/#details The PDF has aired, if anyone interested in viewing it would be so helpfull to test if the link on rebrickable works, I had to upload it on Dropbox as it's 700Mb+ Just today received few items with the mail aswell to upgrade the warehouse, but I still need 1 piece and learn more about how to work with it. I bought the ESP32 from Anton some time ago with his LED's and received from China a 2.8" touchscreen today that should be able to work with it, to make a real HMI (Human Machine Interface). The LED's are planned to go on each storage place to show the current state (full/empty/pickup/dropoff requested), as each LED can be asigned his own color. So the next update will not be soon as I need to learn how it all works.
-
That 'zuigt'. It saves me a trip to The Netherlands, as that's what I would've come for to see. Would be good if they gave some feedback on what criteria it did not fit in, so you can change/modify it for next year. Like saying "It would create a bottleneck where people stay to long to watch it all happen", "The process should loop faster/more times per minute". Then you could try adjusting the gearing/program to allow a faster flow. Or if they don't like a particular object you used, that you can remove it. Hope you can get your feedback somehow. But after all, it remains an incredible masterpiece.
-
At 2:03 in the original video you mention that adding the 24T white clutch gear reduces load able to dump. But the linear actuators from Lego already have clutches build in themselves, so no need to add it. If they reach the end or to big load they will start working (the internal clutch). Nice small RC model!
- 38 replies
-
- powered up
- mini
-
(and 3 more)
Tagged with:
-
You're correct! I enjoy making these builds, and then reverse engineer them so I can rebuild them later/ perform maintenance after an event. The smaller builds are for sale on Rebrickable to get a little profit to keep expanding my setup. And also make other people see how complex machines work, and that they can control it (like my 100% original Lego 6DoF, even cables). I really am thinking about posting this one on Rebrickable for free without programs, just to let people see the techniques I used. Like for a corner transfer, how it works to move a pallet in 4 directions. How the large 6 axis robot is build. The working of an accurate but still fast moving high bay crane that has no gears in it drivetrain for X and Y, only Z(fork movement). I'm still working on adding pictures/text to show how to put the cables in the build. I just finished measuring the cable lengths, the longest ones are 130cm. About awakening old builds, my pin sorters are like this, I break them down to use the pieces, and then rebuild and refine later. The current overhead bridge sorter isn't in 3D form yet, but it got broken down in transport, so not sure if I will be able to remake that one.
-
Load Zone
Mr Jos replied to mahjqa's topic in LEGO Technic, Mindstorms, Model Team and Scale Modeling
Awesome break test with the coffin! -
It took me longer than I expected, 13 days to finish the "steps" for the PDF instruction. Now I still need to add photo's here and there to show how to attach cables/route the cables/string. Final result; 519 pages (started at 1157, more than I hoped to have leftover) 1012 steps (started at 1157, reduced by callout's) 8873 parts in this build One hot laptop as it did not like this rendering, and the rendering that still needs to be done. As it has a broken fan for a few years already. So about 1 more week cleaning up the PDF and finishing it, then back to the real build, fix all worn items and let it run again, and expand.
-
The arm that flips them of the belt, I see it makes a full 360° turn now, can't you add 2 more arms to it, so it only rotates 90° to flip an item of the belt? That way you win loads of time and they can follow each other faster. For the 1 by 1 feeding, you should be looking at a speed difference. The belt in front of the scanner should run slower, and already narrowing down to 1 piece. Then the scanning belt has to run at a way higher speed (like you run now is certainly fast enough). See for example my pin sorters, I also had to feed them 1 by 1 and had all kinds of lengths/colors that need to be pulled apart for a scan. I have a few different setups with continuous/stopping belts. Continuous slow feeding from a big hopper on a slow belt, to a continuous running faster scanning belt; Continuous fast feeding from a big hopper on increasing speeds 3x belt narrowing down, to a forward/reverse/stop running fast scanning belt; This one has a return (turn motor backwards to eject pin back in the hopper) if scan result did not return a valid pin. The large feeding belts also accelerate every 5seconds when no pin is scanned (if the belt is near empty). Start/stop feeding from a big hopper on a slow belt, to a start/stop faster scanning belt (1motor for both belts); My oldest version, it had no return option, just put all unrecognized in the middle bin. If the time between 2 pins was to short to make the movement of the arm, the conveyors would shortly stop and restart to pull a gap. @MxWinters / @Cyberprog; I think these 3062b pieces will fit perfectly on these small chain conveyors, so you should have a setup that turns them all in the same direction so they fit on a 1 wide track, lets stacked items fall off, and then create a speed difference. If you make an opening in the side like I did in my middle video, larger pieces will fall off, and if turned sideways they will turn correct, or also fall back off. I will follow this project with great pleasure to see what you will come up with.
-
Ah yes I forgot that you don't have an 'active' end-effector on your T-Bot. I do know how it works, as I made it one year ago For it to have an active end-effector it needs an axle to transfer the movement to the head (if the motor is also at the not moving part). As can be seen here; The maximal length is restricted to the longest axle (=32L), but as you made it, it doesn't need this axle and can be as long as you want indeed. Just like you I do like to use these technic chain links, I think they are underrated by many people. They can be used for quick movements / far transmissions / used as a conveyor belt / separator / ...
-
Baja Truck
Mr Jos replied to Lox Lego's topic in LEGO Technic, Mindstorms, Model Team and Scale Modeling
Your last post above this one made it better, now it shows more extra's. I also visited this topic before, but didn't bother to post and also was '4thing' what @gyenesvi, @Jundis, @nerdsforprez said, as it was a complete copy from the Rebrickable sales post, without extra information given. No building/ internals extra pictures or extra explanation. And that made me think about some other posts getting warnings for doing the same. On top it was frontpaged like that (Rebrickable copy), if you had included some extra info I wouldn't have had a problem with it and I think others above me neither, but it's not your 'fault' for it being frontpaged like that. Now for the model, it looks great with all the stickers and 3rd party stuff and recognizable as Ken Block's car. Drives pretty good. But I would like to see some photo's from the car with 99% original pieces (just electronics can be 3rd) but without custom stickers/tires/chrome. The way most people would be able to make it. And I really like how you used the old technic half bushes (chromed) in the engine, they give it extra detail. Don't hesitate to post your next build! But I know when having a busy life it can be hard to get it all done fast, but then it's better to wait 1 more week to post with additional info to avoid a toxic conversation like it got now. -
Amazing! I need the PC setup to make a HMI control center for my fast moving warehouse. I want to be able to call a certain set of pallets, to make small builds (like polybag), or just pallets 1 by 1 as you would need it to build something, or add extra pieces. But with a bigger screen than the EV3 now has (or more buttons). But I'm not good in programming for communication between different machines. Right now I'm going to try with an ESP32 board, but never used one so will need some time to learn it myselve how to use it, connect a small touchscreen to it and build a HMI. Depending on when you will show this I might hop by as I did this weekend at Delft already to get an ESP32. The energy chain at 4:34 is a nice design, haven't seen such a strong/stable one yet. At 4:48 I see you made a nice T-Bot, a very good use to show its ability. And I didn't see this one yet in your builds, it's new? And I'm wondering what the guiding is for the long axis, as it looks like a longer travel than a 32L axle.