Phase 2. Modeling forklifts moving in free space

After the electrodes have been collected into batches, they must be moved to the curing oven, where the moisture is removed from them, and then to the next production stage, where the electrodes are wrapped in special envelopes. Let's start simulating this process with adding the forklifts to our model.

To model the forklifts, we will use transporters - a specific agent type defined by the TransporterFleet block of the Material Handling Library. Transporters can be of different navigation types: either path-guided or free-space.

We will use the transporters with free space navigation type. During movement, they detect their surroundings (defined by markup elements, such as walls, conveyors, etc.) and avoid the obstacles and each other. Each transporter uses an automatically calculated route to reach the destination point in the most efficient manner, i.e. its route will be as short as possible.

Create the forklifts
  1. Drag the Transporter Type element from the  Material Handling Library palette to the  Main graphical diagram.
  2. In the New agent wizard specify the Agent type name: Forklift. Click Finish.
  3. Open the Warehouses and Container terminals section of the  3D objects palette and drag the Fork Lift Truck element on the  Forklift graphical diagram.

    The 3D objects palette contains a lot of elements. To expedite the search, navigate to the Palette view and start typing the name of the element that you are looking for. The items will be displayed in the Pallete view, each under the header of the palette which they belong to.


  4. Resize the object to match the 3D scale of the agent.
  5. In the Dimensions and movement section of the  Forklift agent's properties specify:

    a. Length: 2 meters
    b. Width: 1.3 meter
    c. Height: 1.5 meter

  6. In the On startup field of the Agent actions section type the following code to set the position of the transported object in relation to the forklift's center point: setCargoPosition(1, 0, 0, METER);

Draw the forklifts' home location
  1. Drag the Rectangular Node from the Space Markup palette to the  Main graphical editor.
  2. Name it forkliftHomeLocation.
  3. In the properties of the node select the option Visible: no.
  4. Adjust the node's placement according to the image below.


In order for the forklifts to always return to the same positions in the node, we must mark these positions with attractors.
  1. In the node's properties click the Attractors button and in the displayed Attractors dialog window specify the Number of attractors: 2.

  2. Click OK to finish.
Draw the curing oven
  1. Drag the Rectangular Node from the Space Markup palette to the  Main graphical editor.
  2. Name it curingOven.
  3. In the properties of the node select the option Visible: no.
  4. Adjust the size and placement of the node as displayed in the image below.

  5. In the node's properties click the Attractors button to specify the placement of agents in the node.
  6. In the displayed dialog window select the Grid option and set the values to 5 x 1. Drag the attractors to adjust their placement.

Add the 3D animation

  1. Go to the 3D objects palette in the Palette view.
  2. Drag the Drying Chamber 3D object from the Manufacturing section of the palette to the  Main graphical diagram and place it over the attractor in the curingOven node.
  3. In the displayed Auto scale 3D object dialog window click the Yes button.
  4. Adjust the placement of the figure until it is located inside the walls of our layout and fully covers the attractor.


  5. Ctrl+drag the 3D figure to the next attractor. Repeat the process until there are 5 curing ovens on the layout.

Now that we have created the agent type to represent forklifts and drawn their source and target locations, let's add the corresponding logic to our model.

Add the forklifts logic

  1. Open the Material Handling Library palette and drag the  Transporter Fleet block on the  Main graphical diagram.
  2. Call it forklifts.
  3. In the forklifts properties specify the following:

    a. In the Navigation type parameter select the Free space option. Now the forklifts we want to model will move independently, navigating the obstacles on the factory floor on their own.
    b. Adjust the fleet's Capacity: 2. Two forklifts will be enough to transfer the electrodes between the buffer area and the curing oven.
    c. Select the forkliftHomeLocation node as the Home locations for the fleet.
    d. Set the Turn radius of the forklift truck to 1 meter.
    e. In the New transporter parameter select the  Forklift.
    f. Set the Maximum speed of the forklifts to 0.5 meters per second.


  4. Drag the MoveByTransporter block from the Material Handling Library palette to the Main graphical diagram and place it in the flowchart after the batch block.
  5. In the block's properties specify the following:

    a. Name: toOven
    b. Destination is: Node
    c. Node: curingOven
    d. Fleet: forklifts
    e. Loading time: 1 minute
    f. Unloading time: 1 minute


Model the curing process

After the electrodes are delivered to the curing oven, they must spend some time inside until the moisture is removed from them. In real life the curing process takes a long time, something between 12 and 24 hours. For the purposes of our tutorial, we will significantly decrease this time.

  1. Drag the  Delay block from the Process Modeling Library palette to the Main graphical diagram and place it in the flowchart after the toOven block.
  2. In the delay block's properties set the Delay time to 2 minutes.
  3. Specify the Agent location: curingOven.
  4. Run the model to see how the forklifts transfer the batches of electrodes.

Model the transfer to the pre-wrapping buffer area

  1. First, draw a rectangular node on the layout according to the image below.
  2. Name it preassembleElectrodeBuffer.

    This node will represent the place where the cured electrodes must be transferred.


  3. In the node's properties select Visible: no.
  4. Set the Locations layout to Arranged.
  5. Add another  MoveByTransporter block to the flowchart and place it after the delay block. Name the block toElectrodeBuffer.
  6. In the toElectrodeBuffer block's properties do the following:

    a. Specify the Node: preassembleElectrodeBuffer.
    b. In the Seize transporter section of the properties and specify the Fleet: forklifts.
    c. Set the Loading time to 0.5 minutes.
    d. Expand the Release transporter section and specify the Unloading time to 0.5 minutes.

  7. Run the model and observe the forklifts' navigating the production floor in free space mode.

Reference model: Lead Acid Battery Production - Phase 2


          Phase 1. Creating electrodes batches

          Phase 3. Electrodes wrapping and group assembly