Mr Jos

[MINDSTORMS] Full automatic, interactive "Logistics center"

Recommended Posts

I have completely finished my logistics center, and have been able to make a video to explain how it all works.

A demonstration of my logistic warehouse working. Video starts with a 8x speed "Automatic storage mode". Then the working of all the components is explained.
Components;
- Dual sided high bay racks. 6 levels high, 5 racks long.
- High bay crane with dual side operated telescopic fork.
- Input/output chain conveyors.
- 2 corner transfer to transfer from chain to roller conveyors.
- 3 roller conveyors to connect in- and output.
- Scissorlift for lifting pallets up to be taken away/put down.
- 6 Degrees of Freedom (6DOF) robotic arm. Linear movements with inverse kinematics control, and full XYZ/Roll/Pitch/Yaw control.
- Human-Machine Interface (HMI) to control the complete warehouse, selecting modes, times, add new pallets and write their names down.
- Warehouse Management System (WMS), it saves the current location of every pallet whenever it is moved to a new location, online and in an offline file, so it can be loaded at restarts.
- Manual operated pneumatic forklift (made from set 42128 Heavy Duty Tow Truck) to destroy the warehouse, as that's what forklifts do.
- 5x Lego EV3 Mindstorms bricks to control the 17 motors and 12 sensors.
The roller conveyor brick runs as 'main' Master. Left side of 6DoF 'sub' Master. Other 3 bricks act as slaves and do what the masters tell them. Right side 6DoF is connected with both masters.
- Programmed with MicroPython (Pybricks).
- All 5 bricks are permanently connected to chargers to be able to run at events for long periods.

The timestamp what happens at each point in the video is in the spoiler;

Spoiler

0:00 8x speed storaging pallets, coming out of the warehouse, on the ground
0:18 8x speed bringing back pallets from the ground to the warehouse
0:45 Starting the 5 EV3 mindstorms controllers
1:04 All motors are finding their homing position
1:09 Selecting operation mode with or without robotic arm
1:17 All motors continue finding their starting positions
1:49 Controlling the HMI to select working modes
2:25 The random chosen pallet "11L liftarm yellow" is shown onscreen
2:29 Telescopic fork extension
2:36 Output chain conveyor transports the pallet
2:42 Output corner transfer lifts the pallet up
2:47 3 roller conveyors transfer the pallet
2:56 Input corner transfer lowers the pallet
3:01 Input chain conveyor runs towards the scissorlift
3:05 Scissortable lifts the pallet up in the air
3:12 Robotic arm receives command to transport a pallet
3:17 Slow linear movement for pickup/dropoff
3:23 Medium speed linear movement for pallet transport
3:43 High speed linear movement for unloaded moving
4:58 Yaw control with pallet
5:35 Yaw control unloaded at same XYZ position
6:58 All floor storage full, returning pallets to high bay
8:38 High bay crane driving on flat rail
8:46 High bay crane lifting with lego string (cable)
8:56 Telescopic fork extension works both ways, centering with sensor
9:48 High bay crane top rail (guiding)
10:09 Energy chain that allows continuous charging high bay crane
11:17 HMI - location information
11:37 Some more demonstration
12:11 Manual control to return a pallet to the warehouse
12:20 Full automatic operation of the logistic center at real speed

 

I'm planning to take this setup to (some) events this year, hoping to inspire some other people to make unusual things with LEGO.

 

Edit: Adding all video's that are posted as comments here to group them together for new readers;

 

Edited by Mr Jos
Changed title

Share this post


Link to post
Share on other sites

Just... Wow.

How much time ago have did you start working on this? And are you able to estimate the time you spent on it?

Edited by Celeri

Share this post


Link to post
Share on other sites

This could be used as a demonstration for what can be done with intelligent programming. 

It really is an automation designers dream! Great work!

Share this post


Link to post
Share on other sites
9 hours ago, Celeri said:

Just... Wow.

How much time ago have did you start working on this? And are you able to estimate the time you spent on it?

First try to make a telescopic fork was at 30/05/2020.

First try to make a high bay crane was at 27/6/2020. (+racks + roller conveyor + chain conveyor)

End of 2020 I started designing my Robotic 6 axis arm. The programming took forever as I wanted to let it perform linear movements without hard coding every single motor position. I managed to finish this code during 15nights of quarantaine in a hotel in Thailand (when going for 3months there to work) and I took this Lego robot in my travel bag with me.

The XL versions of the crane and racks I started at 4/9/2021.

The XL robotic arm I started making on 22/01/2022, adapting the programming took just 2hours.

 

All together I think around 15% building/inventing and adapting the bricks to machines. 80% coding and constantly adding more functionality to the HMI, testing. 5% watching it all run, making videos.

Hours are countless, I think It took me over 300hours to get the robotic arm to move like it does now. Reading how the real machines work, watching youtube videos that explain kinematics, how to draw a diagram to see and calculate all joints/angles.

 

The complete design of the project was easy, as I install/service these machines (high bay cranes/roller and chain conveyors/robots/elevators/hydraulic presses/sorting machines) in real life as mechanical service technician. So I do know how they look like exactly and how they are driven. But the programming is something I learned myselve from reading a lot and the great website from @Pybricks

 

9 hours ago, Jundis said:

This could be used as a demonstration for what can be done with intelligent programming. 

It really is an automation designers dream! Great work!

The first automatic machine I made, is being used as a demonstration model at the moment by the company that makes these kind of machines.

I really enjoy making these machines as I try to find and balance on the edge of the possible with Lego. Trying to make everything work on the fastest possible speed/accuracy, and look as much as possible like the real thing. That's why I sell my instructions pretty cheap for all the hours invested in it, just so others can try to make it, and understand what I did. But there will never be instructions for these XL versions as they all need custom made EV3 cables. I only make a Stud.io 3D model (and instructions) for myselve to rebuild them later if wanted.

Share this post


Link to post
Share on other sites

That was going to be my first question, is how you programmed the darned thing. Through countless hours of research and trial and error it seems. Is the robot calibrated on the fly as well or does it not go out of alignment much? I'm thinking of slack in gears and axles here.

Great job indeed. This is one of my favorite projects so far, definitely worth remembering!

Share this post


Link to post
Share on other sites
7 hours ago, Carsten Svendsen said:

That was going to be my first question, is how you programmed the darned thing. Through countless hours of research and trial and error it seems. Is the robot calibrated on the fly as well or does it not go out of alignment much? I'm thinking of slack in gears and axles here.

Great job indeed. This is one of my favorite projects so far, definitely worth remembering!

I learned a lot by doing this and my other projects. If I look back at my earlyer projects I think often, oh that could have been better/easyer if I knew this already. It's real fun to push the boundaries of what these toy controllers can do.

The robot does an automatic calibration everytime the program is started, it uses the sensors to do this on its own, no need to put it manual in the correct position for startup, it will do so by itselve. It will need to do this only once, and then can run for long times aslong as the program is not stopped. It can remain idle/perform tasks for long times as I made all geartrains very sturdy so there is no gearskipping, but when the program stops the motor encoder will just be 0° at next startup, wherever it stopped, as they are incremental encoders, not absolute encoders.

Thanks @ all for the feedback, hope I can inspire some people into more technic machinery as they are fun to watch and work on.

Share this post


Link to post
Share on other sites

Have been rebuilding my other MOC's, Pin sorter and T-Bot.

Here I modified my T-Bot with a pin gripper, so it can be used as a pick&place to transport pins rapidly to a destination.

I am missing 1x EV3 brick + 2x EV3 battery to make it all work together, but it's getting hard to find these components, hoping to find some more deals to expand this setup more.

 

Edited by Mr Jos

Share this post


Link to post
Share on other sites

I'm looking for ideas to make 3 buttons for the operation of the warehouse.

Here a photo of the current setup of the 3 switches, just color coded with some random bricks.

51911794731_0df053a2c0_b.jpg

Green = Remove a pallet from the pick&place floor and return it to the high bay crane.

Red = Emergency stop, should stop all current movements of all bricks as fast as possible.

Blue = Reset emergency stop (or reset after a error has been detected)

 

I need some design on how to make them as a nice 3 button operation panel with these 3 colors for the pushbuttons. I'm good with Technic designs+how it should work, not with aesthetics.

Share this post


Link to post
Share on other sites

Finally came up with a solution that is good enough for me, for now.

51932600077_3f07c0151d_b.jpg

I eliminated the green start button, and added 2 ultrasonic sensors for touchless operation in manual mode. 1 is to take a random pallet from the racks to the robot arm. The second one is to return a random pallet (if there is one) on the floor near the robot arm.

The emergency stop button is still small and red + it has the yellow surrounding ring. Plain blue button to reset the installation.

 

I also will be able to expand the installation a bit more, as I was able to find a real good deal last week, and have been sorting it all out.

51933594496_9f5d35658c.jpg

51933919334_b7ea1ef327.jpg

51932613712_ef19d9e625.jpg

EV3 set with rechargeable bat+charger, loads of pneumatic stuff (2manometers, 2white airtanks which were hard to get for me), baseplates, power functions (even 2 servos still in sealed bag), good amount of gears/axles/liftarms. All this for just 150€, no brainer to take it.

 

Still thinking if I will add the pin sorter or 3axis gantry+gripper.

Share this post


Link to post
Share on other sites

Especially the manometers and airtanks :wub_drool:

Emergency stop is a great idea.

Share this post


Link to post
Share on other sites

I started preparing the Logistics center for an event.

52056414394_47372eea0a_b.jpg

Final cleaning will be done just before the event as there is loads of dust in the air here. Maybe will create a few more explanation signs.

It will be interactive with the 2 'Manual' sensors to request pallet movement, and have an e-stop+reset.

Share this post


Link to post
Share on other sites

Now I'm running 6 Lego chargers (10V 700mAh each) to charge the 7 rechargeable Lego Lipo battery's I have, for my 8 EV3 bricks.

As they cost 30€ each and they get harder to find + they use many wall plugs, I was already thinking a long time to make a 'charging station'.

I bought this 230V AC -> 12V DC (5A) power adapter, and 20 charging plugs for the price of 1 Lego charger. As the original uses 10V/700mAh I should be able to power atleast 7 batteries (7x700mAh = 4.9A). The plan is first just 5 for this Logistic center (1x crane, 2x conveyors, 2x robot). Rest of the machinery still with Lego chargers.

52064517059_3a22afb50c_b.jpg

Anyone seeing any problems with this setup? I still need to find where I put my connectors years ago, and buy some cable.

Edited by Mr Jos

Share this post


Link to post
Share on other sites

After some soldering, I now have 1x 230V AC wall plug, able to charge 7x EV3 batteries at the same time + a LED strip to illuminate the HMI screens.

52069774525_bb0616e7a3_z.jpg

Each charging cable is 2meter long, so easy to nicely go to each brick and hide the cables as much as possible.

52069288516_cebcacd468_b.jpg

Only strange thing is the LED strip does not fully turn off. With the switch in off position there remains 7V DC, even with the 230V AC plug without power.

Share this post


Link to post
Share on other sites
4 hours ago, Carsten Svendsen said:

Cool, dunno about your problem, but I suspect (looking at the picture) that the 7 volts comes from the EV3 unit?

No, with no EV3 connected, the LED's still light up slightly (around 7V DC), with the switch on the LED's in Off position.

Switch on they burn fully (at 12,2V DC measured).

But I'm already happy I can charge all my Mindstorms sets with just 1 adapter now. And put some lighting on the 2 screens that have the machine interface.

After the event next week is finished I maybe will try to change the setup and maybe rewrite the programs to a more clean one. And add some filling/emptying stations for the pallets.

Share this post


Link to post
Share on other sites

Lamp above the Interface computers is installed, and allows for a good reading now. Just the screen is scratched, but I'll change it with an EV3 without scratches after the event.

52072330621_419f9f6181_b.jpg

I hope the Bluetooth connection between the 5x EV3 bricks will work fine at the showing.

Share this post


Link to post
Share on other sites

Impressive and good luck on the event!

I would make the E-stop buttons even larger (and sturdier) if you are planning to let the audience handle them. Bigger the better! Hope the power outlets at the event can handle all the wattage. I had problems once when my model ran from the same plug as the whole GBC layout. Sigh.

 

Also, sorry if this is a stupid question, but are those white cables fully custom built? Their long lenght looks really useful.

 

 

Share this post


Link to post
Share on other sites
8 hours ago, Heppu said:

Impressive and good luck on the event!

I would make the E-stop buttons even larger (and sturdier) if you are planning to let the audience handle them. Bigger the better! Hope the power outlets at the event can handle all the wattage. I had problems once when my model ran from the same plug as the whole GBC layout. Sigh.

 

Also, sorry if this is a stupid question, but are those white cables fully custom built? Their long lenght looks really useful.

Thanks!

I wanted the buttons sturdier, but didn't find a way to do so yet, and still have them round and in the correct colors (red with yellow plate / blue). The buttons themself are firm, but the gray plate underneath isn't. For now I prefer public handling the 2 input signals touchless, and emergency stop only in case of emergency. As the program in very rare cases crashes when the button is pressed. I imagine it will happen if it's pressed every minute. Still need to finetune the program for the e-stop. (At this moment trying to make all motors stop directly and not finish their movement).

Each EV3 uses max 7W for charging, so 49W+1W for the LED. Together with my laptop in case of real programming problems, it shouldn't be to much (I hope).

No such thing as stupid questions. The white EV3 cables are indeed custom build by me.

- The cable is; flat, 6wire phonecable. Last time I bought 30meter for 0,44€/meter [cable]

- The plugs are: !!Right side tab!! RJ12 6P6C for EV3. Last time I bought 100pcs on ali, for €23,67 incl shipping, so 2plugs/cable = 0,47€/cable [plugs]

- Another need is the crimping/stripping tool, I bought a cheap modified 6P6C (to be able to handle right side tabs) on ali aswell (can be used forever). I think it was under €20.

So a 1meter cable [double Lego maximum length] costs under 1€ custom made. Depending on howmany you will make, else the price for the crimping tool makes it higher. But the fun is that you can make the cables exactly the length you need, or some extra long 2meter cables to test some fun projects.

I did make a video some time ago on how to make them. It takes less than 1 minute to make.

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.