Tutorial 8 of 8
Shared vehicles, transport schedules and model checks
Intermediate 10 min
Model forklift or AGV trips as stations that share a vehicle pool, see when the fleet becomes the bottleneck, plan moves on a route network with the transport scheduler, and fix parts of a model that no source can reach.
Connections in Twinworks are instantaneous unless something sits on them. When pallets wait for a forklift, model the trip as its own station that borrows a vehicle from a shared pool. For questions about routes and traffic on shared aisles, the separate Material Transport Scheduler tool plans each move.
1. Open the shared forklift example
Choose File → New from template / start screen… and open Shared forklift fleet, or go straight to /app#template=shared-forklifts. Two cells — a press and a weld cell — put finished pallets into outfeed buffers. The stations Forklift: press to store and Forklift: weld to store carry them to the high-bay store. Both use the resource pool Forklifts on the Resources tab, which has two vehicles.
2. A trip is a station with a vehicle
Select Forklift: press to store. Under Operator the pool Forklifts is needed for Setup and processing. Open Shared vehicle transport: Use this station for shared vehicle transport is on.
- The cycle time is the loaded trip (triangular 40/45/55 s here).
- Empty return time is the drive back (35 s). The forklift stays reserved until it is back.
- If the store cannot take the pallet, the forklift waits with it — blocked delivery keeps the vehicle busy too.
- Parallel servers limits how many trips this station can run at the same time; set it to at least the number of vehicles that may serve it.
The option is only offered when the station uses a pool for setup and processing. The return runs on elapsed time, even during downtime or off-shift periods. Individual vehicle positions, paths and traffic are not simulated in the factory model.
3. When does the fleet become the bottleneck?
Press Run experiment. With two forklifts the line makes 43.8 ± 1.1 good parts/h (5 replications) and the bottleneck is the Weld cell. On the Utilization tab the operator-pool table shows the forklifts about 57 % busy; a note explains that station busy time is loaded travel, while the pool also counts blocked delivery and empty returns.
Now set the Forklifts pool on the Resources tab to 1 and run again. Throughput drops to 39.3 parts/h, the mean lead time jumps from about 509 s to more than 9,400 s, and the bottleneck moves to Forklift: press to store: both forklift stations spend most of their time waiting for operator. That is the moment to buy a second truck — or to shorten the trips.
4. Plan moves on a route network
Where do the trip times come from? Open the Material Transport Scheduler (on the Twinworks home page under the built-in tools). Describe the aisles as two-way segments with travel seconds and capacity — capacity 1 is a narrow aisle where only one vehicle fits:
Depot,Aisle,20,1
Aisle,Press,15,1
Aisle,Weld,25,1
Aisle,Store,30,1
Set Initial depot location to Depot, 2 vehicles, and enter requests as name, request time, pickup and destination:
Pallet 1,0,Press,Store
Pallet 2,20,Weld,Store
Pallet 3,40,Press,Store
Pallet 4,60,Weld,Store
The schedule shows each vehicle's empty and loaded route, when it picked up and delivered, and how long it queued at busy segments: 4 moves, mean dispatch wait 30 s, total traffic wait 50 s, last delivery at 250 s. The segment table shows that Aisle–Store carried six traversals — that shared aisle causes most of the waiting. Vehicles stay where they delivered and drive empty to the next pickup.
Without a network, enter name, request time, loaded time and empty-return time per move for a quick fixed-time schedule. To feed a Twinworks station, copy a typical loaded time into its cycle time and the matching return into Empty return time. The scheduler uses shortest uncongested paths and does not re-route around traffic; loading, charging and breakdowns are not modelled.
5. Parts no source can reach
Twinworks checks the structure of every model. If a machine or a closed loop has no chain of arrows from any source, Model check in the Properties panel (with nothing selected) and the warnings chip in the status bar say, for example, "Rework loop A" has no path from any source through the connections. Such objects can never receive parts. Connect them, or delete them if they are left over from an earlier layout. The check follows every connection type but ignores product filters and routing probabilities, so a reported path is necessary, not sufficient, for flow.
Next: Automate with the API / MCP.
Ready to try it?