Modeling a Complex Reeving System

Note:  This is an advanced topic. This page is only applicable if you want to switch between reeving using mechanism configurations at the beginning of a simulation, not during runtime.

It is possible to model a crane with a complex reeving system in Vortex® Studio Editor. However, by including several dozen pulleys in the model, the dynamics simulation time will increase and can make it difficult for Vortex Studio Editor to run the simulation in real-time. This is due to the high number of parts and constraints needed to model the full system. To work around this limitation, we can set two different cable systems, one for the dynamics and one for the visuals.

Modeling the Dynamic Cable System

The basic idea here is to model the dynamic effect of a complex reeving system without taxing the dynamic solver in Vortex Studio too much. This is done by reducing the number of parts and constraints with a simpler cable system with fewer falls. We can then use a gear ratio constraint or a script to convert the speed and maximum torque of the winch to emulate the winch behavior with the full reeving system. As an example, let us use the following reeving system on a heavy duty offshore crane.

The reeving system above is essentially composed of 16 pulleys, all connected through one cable and has 12 falls. If we want to simplify the dynamic model of the crane, we can reduce the system to eight pulleys with four falls, as seen below.

To match the behaviors of the winch and the travel speed of the cable systems between the simplified model and the real model, we apply a gear ratio of 3:1 (i.e., 12 falls to four falls) at the winch. This achieves the equivalent torque and rotation speed between the winch of the simplified simulated cable system and the winch for the real crane.

The dynamic cable system does not have to be visually seen. The user can set the cable to be invisible and separately model the graphical cable visually (see the next section for more details). In the example above, we used dummy pulleys that are invisible to the operator. If the real crane had a configuration with 8 falls instead of 12, we can simply change the gear ratio used to 2:1 (i.e., eight falls to four falls) at the winch the emulate the new reeving configuration.

Modeling the Cable System Graphically

Once the dynamic modeling of the cable is done, it is preferable to visually see the complete reeving system of the crane for a training simulation. We can do this without increasing the dynamic solving time by ensuring that the parts have a purely visual effect in the simulation. This is done by modifying the Solver Group parameters of parts (see below).

For example, in the previous section, we simplified the dynamic model of the reeving. Now, we would like to visually display the cable system with the 16 pulleys.

To display the visual cable system:

  1. Create all the required pulleys and properly constrain them to the hook block or the crane. In our case, it would be 16 pulleys.
  2. Set the solver group of each pulley to a group other than 0 (e.g., 1).

    The solver groups are found in the Properties panel of each part. The user can change them in the .vxassembly file, for each part, or modify them by creating a VHL interface directly in the assembly or mechanism (see image below).

  3. Create a Python script that will set the new solver group strength to -1.

    import Vortex
    
    def on_simulation_start(extension):
    	universe = Vortex.AdvancedDynamics.VxDynamicsModule.instance().getUniverse()
    	
    	sp0 = universe.getSolverParameters() # Solver group 0 by default
    	sp1 = universe.getSolverParameters(1) # Solver group 1
    
    	# Modify the main solver's compliance for the crane's large masses.
    	sp0.setConstraintAngularCompliance(1e-12)
    	sp0.setConstraintAngularDamping(8.3333337679.5)
    
    	sp1.setConstraintAngularCompliance(1e-12)
    	sp1.setConstraintAngularDamping(8.3333337679.5)
    	sp1.setConstraintLinearCompliance(1e-12)
    	sp1.setConstraintLinearDamping(8.3333337679.5)
    
    	# Set the solver groups strength.
    	sp0.setStrength(0)
    	sp1.setStrength(-1)
    Setting the strength to -1 ensures that the pulley parts set in the new solver group do not have any physical effect on the crane and the reeving.
  4. Create the cable system that represents the complex reeving system.
  5. Make the winch of the visual cable system always pull the cables inward with relative low forces to always keep the visual cable under tension.

By following the steps above, we will get two cable systems in our mechanism: one dynamic cable system used to hoist the hook block up and down, and one visual cable system that allows the operator to see the full cable system.

If we wanted to visually see the cable system with a different number of falls, we would need to create a new visual cable system with the desired reeving, and disable the old one. For example, in the figure below, we are removing/disabling the visual cable system with 12 falls (in red) and adding the visual cable system with two falls (in green) in a mechanism configuration.