Crane Library - Bridge and Underhung bridge cranes

Do you have objects, models, libraries, path decorators, textures, symbols, custom API code, documentation, or anything else others might find useful? Please attach it here with a brief description.
dsturrock
Simio Team Member
Posts: 1452
Joined: Thu Mar 13, 2008 12:35 pm
Location: Sewickley, PA USA
Contact:

Crane Library - Bridge and Underhung bridge cranes

Post by dsturrock » Thu Nov 22, 2012 1:19 am

Modeling multiple cranes on a common (shared) runway is hard to do well. Still harder when you take into account acceleration, crane blocking, and good 3D animation. If you have encountered this problem, here is a solution.

For standard bridge crane movement, we recommend the simpler Crane object in the Extras library. But if you need the underhung cranes with cabs moving between bays, read on...

The Simio Crane Library is a collection of objects designed for modeling multiple cranes operating simultaneously in a bay. The library is provided as an example of complex material handling using the standard features of Simio. The Crane library may be used in conjunction with the Simio Standard Library, and Crane pickups are done using the standard TransferNode (e.g. the output side of a Server). Crane drop-offs can be done at either a BasicNode or TransferNode. The Crane Library can also be used with custom libraries as long as they support rider pickups using the standard transporter ride features.

The Crane Library consists of objects representing the Bay, Bridge, Cab, Lift, and Crane (the end effecter that actually picks up and drops off the item). These objects are combined together to model multiple cranes moving in a single bay. The separation of objects in this way allows you to use your own symbol for each component. A Crane movement occurs by first rising up from the pickup node to a specified travel height, traveling laterally at that height, and then lowering down to the specified drop-off node. All travel is done through free space without the need to explicitly draw a network. The Crane library also fully supports independent acceleration/deceleration and the ability for one crane to cause another blocking crane to move out of the way.
The above library file is now obsolete. Instead, download the library posted closest to the bottom topics.

Like all Simio-provided libraries, this library is open so you can look at how it was built, learn from it, and subclass your own objects to improve them. But unlike our built-in libraries, this is not fully supported (although we can provide some help) and we may not continue enhancing it, particularly if we decide to build this capability into the base Simio products. We are anxious to receive your feedback on this library.
Dave Sturrock
VP Operations, Simio LLC

Nemmer
Posts: 2
Joined: Sat Jan 28, 2012 11:04 am

Re: Crane Library

Post by Nemmer » Thu Nov 29, 2012 1:30 pm

I was wondering if there is any possibility to let two cranes pass each other, assuming that the cranes would have different heights (comparable with Rail-mounted-gantry-crane systems)

dsturrock
Simio Team Member
Posts: 1452
Joined: Thu Mar 13, 2008 12:35 pm
Location: Sewickley, PA USA
Contact:

Re: Crane Library

Post by dsturrock » Thu Nov 29, 2012 3:03 pm

Actually it was doing that at one point and then we fixed it. :)

Seriously, that isn't a typical behavior of cranes sharing a runway, but I could see that some cranes might allow that. The point of this library is to provide cranes that work together as a system. But that might be an optional behavior that could be implemented in a future library or it could certainly be added as a specific user variation of the library.

Or, depending on how interdependent they are, you might just model your system as multiple (sets of) cranes that just happen to operate in the same space.
Dave Sturrock
VP Operations, Simio LLC

Nemmer
Posts: 2
Joined: Sat Jan 28, 2012 11:04 am

Re: Crane Library

Post by Nemmer » Sat Dec 01, 2012 5:56 am

If the two cranes travel on the same rail tracks/ runway, of course they cannot pass each other.
What I like to simulate, is a crane system where two cranes, with different heights, travelling on two different runways work as one system on one storage block.
Inter-crane interference happens between the cranes, when the larger crane lowers its lift/crane while the smaller crane tries to cross. Also, if the larger crane transports a (e.g.) container and crosses the smaller crane, it needs to move its cab to the leftmost lane (service lane) first, because it cannot lift a container above the small crane’s cab. When cranes interfere, a safety distance has to be respected.

esinanaygun
Posts: 24
Joined: Tue Dec 18, 2012 9:53 am

Re: Crane Library

Post by esinanaygun » Wed Apr 24, 2013 8:09 am

How can I use this library? I created a project and I want to use a crane. But do I have to look to the example and built my own crane or somehow can I copy this crane from this project to my project?

Thanks

dsturrock
Simio Team Member
Posts: 1452
Joined: Thu Mar 13, 2008 12:35 pm
Location: Sewickley, PA USA
Contact:

Re: Crane Library

Post by dsturrock » Wed Apr 24, 2013 10:05 am

As noted in the initial post, there were some performance problems when it was used as a library, but those have since been fixed in recent Simio versions. So now you can load it as a project and just drag crane objects from your project library into a new model. Or you can load the crane libary as a library (Project Home ribbon > Load Library) and use it as a normal library.

We are currently in quality control on some major enhancements to this library including features to deal with Blocking (moving another crane out of the way), Deadlock avoidance, and modeling Underhung Cranes (allow cabs to move between bridges and bays). Hopefully we will have that available to post within 2 weeks.
Dave Sturrock
VP Operations, Simio LLC

jzhou
Simio Insider
Posts: 291
Joined: Mon Aug 03, 2009 12:01 am
Location: China
Contact:

Re: Crane Library

Post by jzhou » Wed Apr 24, 2013 7:43 pm

I suggest to integrate the Crane lib into Commercial Design & Team Edition, while not for Education, Express Edition.
Xunhe----www.simio-china.com

dsturrock
Simio Team Member
Posts: 1452
Joined: Thu Mar 13, 2008 12:35 pm
Location: Sewickley, PA USA
Contact:

Re: Crane Library Version 3

Post by dsturrock » Thu Apr 25, 2013 4:32 pm

We have made lots of enhancements and additional features to this library.
--It now supports limited blocking avoidance (one crane will move out of the way of another).
--It supports acceleration and deceleration.
--It supports a little bit of deadlock detection/prevention (but that is a huge field).
--And it supports movement of cabs from bridge to bridge, even across buildings as permitted by the new style of Underhung Cranes.

While Underhung Cranes aren't yet popular, they are really cool to watch (both live and animated) and there are many compelling benefits why we will start seeing a lot more of them.
SO FAR, ONLY SIMIO CAN MODEL THEM! :P

And since these, like all Simio objects, are open to view, you can see how this was done and use the same techniques to make your own compound objects like robots, lift trucks, and other mulit-part devices.

Enjoy! (Requires Simio 5.86 or later)

We are still anxious to receive your feedback on this library.
Dave Sturrock
VP Operations, Simio LLC

tulach
Posts: 236
Joined: Tue Mar 02, 2010 9:02 am
Location: Prague, Czech Republic

Re: Crane Library

Post by tulach » Tue May 07, 2013 5:40 pm

Hi,

I tried this library and it is a nice thing to work with. Few suggestions:

1.) It took me some time to get the difference between ForwardandBack and LeftandRight.

2.) Crane can, to my great suprise, transfer entities to nodes out of Bay. This happens only if the node is outside bay in the direction of cab movement. If it is outside bay in the direction of Bridge movement, warning appears.

3.)If Crane initialnode must be the same as bridge initialnode, it should be nice to have this set by default. This is not possible in Simio at the moment I think.:-)

4.) It would be nice to have transparent Bay with borders only (Or a choice to . Sometimes we have layout of factory and bay does not look good and hides important things on layout.
Ok I found that I can change bay as any other object but still transparent color for objects would be nice.:-)

5.) Crane and other crane components do generate a lot of data in trace. It would be nice to have possibility to swich this off just for some steps inside crane and co. I used it in a model that has a simulation time of 1 month and this made my trace impossible to filter and analyse.

6.) If I have Bridge1 initialNode and CraneInitialNode the same as node where my entities go to be transfered, I get this error. I has something to do with fact, that bridge does not have to move, so it has movement.rate == 0

7.) In one model the lift started to fall into depth. This happens if entity has destination node set to specific and to the same node where it is. (e.g. if TransferNode1 is set to Entitity destination type specific, NodeName = TransferNode1) then crane will fall in the depths.
Attachments
craneerror.png
craneerror.png (50.23 KiB) Viewed 17398 times
Petr Tulach

LOGIO, Czech Republic

miguelgaitan
Posts: 14
Joined: Sun May 19, 2013 4:08 pm

Re: Crane Library

Post by miguelgaitan » Thu Jun 06, 2013 7:11 pm

This is a very cool library, i have built two very simple examples to test before using it in a simulation in which they will represent Ship to Shore Cranes.

First of all, it took me a moment to figure out that "entity destination" on my home node for the crane has to be set to "specific", can this work using "continue" ?

Now, on attached example 1, the Crane picks the entity and will wait for an available vehicle to make the transfer, building a queue in the home node for the crane if there is no available vehicle. This is great since it reflects what happens in the actual operations, the crane waits for a truck to be below the crane to drop the container.
crane_example1.spfx
crane waits for vehicle
(401.47 KiB) Downloaded 687 times
But there may be interest in simulating the crane dropping the entity into the floor and just keep unloading the ship, this means i now want to drop the entity without the vehicle being available.
Is it possible to control this behaviour at will? I was looking for the option of an input buffer of some sort but for now I just add a normal node and allow the crane to drop it there it will build a queue waiting for the vehicle, this can be seen on example 2, I appreciate any ideas,
crane_example2.spfx
cranes drops it on an added node, queue forms
(401.64 KiB) Downloaded 671 times
also, I tried scaling the elements and it gave me an error on height, so I was wondering what should i take into account when scaling (changing size) of this elements? I will take a screenshot next time I encounter the error.

finally, I will be using this element in my simulation, and i was wondering what are the thoughts on "tulach" question:
"5.) Crane and other crane components do generate a lot of data in trace. It would be nice to have possibility to swich this off just for some steps inside crane and co. I used it in a model that has a simulation time of 1 month and this made my trace impossible to filter and analyse."

thanks

best regards

gtwirth
Simio Team Member
Posts: 156
Joined: Mon Jun 09, 2008 4:42 pm

Re: Crane Library

Post by gtwirth » Mon Oct 14, 2013 11:37 am

Attached is an updated crane library. This version includes the following changes.

1) Crane Specific Transfer Bridge List.....Each crane can use a different bridge list. This gives added flexibility and helps avoid blocks. (e.g. Crane A within a bay can choose Bridge A and Bridge B while Crane B can choose Bridge B and Bridge C).

2) Animation for the seizing of the Cross Bay Transfer Aisle zones....Now when a crane seizes the cross bay transportation bay zone, the zone is display as a dark grey.

3) Bay is no longer visible. This allows for status objects, status labels and symbols that are placed on the floor to be visible.
Glen Wirth
Simio LLC

ASagan
Posts: 356
Joined: Wed Oct 05, 2011 11:21 am
Location: Brisbane, QLD

Re: Crane Library

Post by ASagan » Wed Oct 16, 2013 12:25 am

This newest version seems to be fairly bugged with 'simple' models. I can't get it to work... two different types of errors keep showing up. I've attached a project file that shows both these errors.
Attachments
ErrorPic2.PNG
ErrorPic2.PNG (73.09 KiB) Viewed 14078 times
ErrorPic1.PNG
ErrorPic1.PNG (98.89 KiB) Viewed 14078 times
CraneError.spfx
(562.06 KiB) Downloaded 432 times
Solosi Pty Ltd -- www.solosi.com

gtwirth
Simio Team Member
Posts: 156
Joined: Mon Jun 09, 2008 4:42 pm

Re: Crane Library

Post by gtwirth » Wed Oct 16, 2013 1:29 pm

I updated the library in the above post. This version is "CraneLibraryV4a.zip". In this version, I fixed both issues.

1) There needs to be a Math.EPSILON delay on first entity arrival to provide time for crane initialize. Update your source and add a "Math.EPSILON" delay to the TimeOffset property. This will provide enough time for the crane to initialize. I added a warning message to the library if there is a reservation request for the crane and the crane is not done initializing.

2) The library was assuming that a Transportation Node was defined on the bay. In your bay, the Transportation Node was NULL. I updated the library so the Transportation Node property can be NULL.
Glen Wirth
Simio LLC

jzhou
Simio Insider
Posts: 291
Joined: Mon Aug 03, 2009 12:01 am
Location: China
Contact:

Re: Crane Library

Post by jzhou » Thu Oct 17, 2013 2:47 am

good job. Glen.
Xunhe----www.simio-china.com

ASagan
Posts: 356
Joined: Wed Oct 05, 2011 11:21 am
Location: Brisbane, QLD

Re: Crane Library

Post by ASagan » Tue Oct 22, 2013 8:31 pm

Very powerful...

I like the transportation aisles which allows for some limited obstacle avoidance. Is it possible to combine multiple bays with different transportation aisles but only use one bridge, such that the transportation aisle changes as the crane traverses to its destination?
Solosi Pty Ltd -- www.solosi.com

Post Reply