(Almost) Final version of the new container loader

In the video, you see the (almost) final version of the container loader. The only thing that is missing, is the power cable carrier.

What is new in this version (apart from finishing the build)? First of all, it has been added to the ‘real’ conveyor belt (you can see the enormous length ;-). This conveyor belt moves the containers from the warehouse to the wagons.

Furthermore, an ultrasonic sensor has been added at the top of the super structure. This ultrasonic sensor detects if a container has passed under it, so it ‘knows’ that after 1 second it can set its state to ‘container delivered’. Without this sensor, the only way to ‘ensure’ if the container has been loaded, was to use a predefined time frame. A predefined time frame has two major drawbacks: you need a very long time to make sure that the container has arrived. And you can not guarantee that the container will be delivered, no matter how long you define the time frame. You can see the ultrasonic sensor detection in close up around time frame 0:45.

Mindstorms EV3 without modification has 4 level grayscale display

Until now, we have programmed the EV3 bricks with the standard Lego programming software. Using messages to send commands from the PC and to retrieve status information from the EV3’s (this was not trivial, see this article https://siouxnetontrack.wordpress.com/2014/08/27/sending-data-over-wifi-between-our-pc-application-and-the-ev3-part-4/).

Programming the EV3’s with the standard programming language has as anything pros and cons. A major drawback, is that you can not do complex math. So we decided to convert all EV3 programs to EV3DEV and the C++ language.

I started this weekend with learning the EV3DEV environment and wrote my first, small test programming (pressing a touch sensor = motor rotates). Reading the manuals, learned me that you can do much more with the EV3 than with the standard programming environment.

For example, you can address the two LED’s on the brick separately. And it can also display four different grayscales on the display:

And this is all standard available!

Watch the short video on Youtube to see these features in action (click on the photo above).

Some useful links to get started:

Delta Crane will be replaced by Container Loading Station

For our layout in 2020, we will replace the Delta Crane, the module that was responsible for loading the containers from the conveyor belt to the wagons. You can see the Delta Crane in action in the following video (start at time frame 3:09):

One of the biggest disadvantages of the crane, is its speed. Or its slowness, that is a better description. In order to decrease the total running time (from color selection to candy delivery), loading of the wagons is now one of the bottlenecks.

So, I started to think about a new way of loading the train. How do I get the containers from the belt, to the wagons ….?

Another conveyor belt? No, to straight forward.

A push mechanism (kind of reverse of the delivery station)? No, been there, done that.

A robot arm? Yeah, that could work but is that special enough?

(quite some time passing by …)

And then I came with something completely new, as you can see in the following video:

At the left, you can see (a simplified part of) the conveyor belt, on the right you see the (simplified) train. The superstructure in the middle is able to move back and forth, so it can reach the four wagons without moving the train. In this first prototype, I can only move the superstructure by hand. But of course, this will be automated as well using sensors to detect the 4 wagon positions.

You can find renders of the final result at our Flickr page (click on the photo below).

Result of our work in 2019

A new video has been uploaded to our Youtube channel. In 2019, lots of new elements have been added to our layout. To name a few: the warehouse, able to store 60 containers with candies, with two independent stacker cranes, the four candy circles, and an updated delivery station. Also brand new is the PC software that connects everything. We have worked hard to get the software working stable and with success. You can see the result in the video. Enjoy the video!

 

 

Lego Monorail EV3 – Automated Switch

A monorail without a switch track is not a real monorail 😉

I have been working on an automatic switch for the Lego Mindstorms EV3 monorail. The idea is that there will be a monorail track on our layout with two reverse loops. The loops will each have a switch and the train will need to set the switch in the right position. One reverse loop will be at the delivery station, where the empty containers can be loaded onto the monorail. And the second reverse loop will be at the Candy warehouse, where the empty containers will be dropped. For this year, the (un)loading of the empty containers will be manually. It just saves time to walk between the two locations with the empty containers. Yes, I know this sounds lazy and yes, it is.

In the video below, you see version 1.0 of the automated switch. Currently, the switch is powered by a PF motor. The train was simply programmed to run and switch direction when it noticed a the green tile (on the left, not visible in the video), a red or a yelow tile. Meanwhile, I was operating the switch with a PF remote control.

The next update will be a finished reverse loop, including a second EV3 that controls the switch. The train-EV3 will communicate with the Switch-EV3 to set it in the right position.

 

Sioux.NET on Monotrack … ?

One of the “policies” within Sioux.NET on Track, is to change a build every three years. In other words, when a build has been part of a Lego World demo for three years, it should be replaced by a new one. For example, loading the train was first done by the container crane, now it is done by the delta crane. The same applies for the train: the first years, we controlled the train by an NXT, now it is controlled by an EV3. For the new layout, I am thinking of replacing the train by a monorail (and thus renaming the group to “Sioux.NET on Monotrack” ;-).

You can following the engineering process on Eurobricks.

Enjoy, Hans

Impression of our visit to Lego World 2017 in Utrecht

From Tuesday October 18 until Saturday October 21, our layout was present at Lego World 2017 in Utrecht, the Netherlands.

Photos of our layout can be viewed on Flickr, please click on the photo below to be teletransported to Flickr.

 

And on Youtube you will find two video impressions:

 

If you like our layout, please like our videos.

Enjoy, Sioux.NET on Track

How to? Synchronizing two threads

In the EV3 programming environment, it is possible to start multiple threads. For example, you want two motors to run simultaneously and when both motors are finished, you want to play a sound. But there is no default mechanism in the programming environment to continue with the main thread when the second has also finished. In  the example below, the “Ready” sound is played too early if motor A finishes before motor B is finished.

Continue reading “How to? Synchronizing two threads”