Motor Groups
Groups: What Are Motor Groups
A motor group is a collection of two or more motors that monitor each other's faults and stop when something is wrong.
Grouped motion is not synchronized motion
Motor Groups do not require the same targets or speeds. Because of this, you can have a couple motors lifting a truss, and program the movements to lift or lower the truss level but also tip the truss up and down. Nifty, right?
Groups: How They Work
Spikemark makes it look easy, but there’s a lot happening under the hood to keep things moving - and stopping! If you understand how groups work internally, you can confidently anticipate how the system will react when using groups.
The primary function of a motor within a Group is to stop whenever there is a problem with another motor in the Group. When a Group movement is initiated, each Stagehand is sent a network message that says "Hey, you're in a group for this move. Listen for any problems." This applies to cues, jogging, and move-to-position commands. From that point, until the end of the move, the motor is not only watching it's own sensors and faults, but also relying on a GROUP IS OK message from Spikemark to keep moving. That GROUP IS OK message has to arrive within a tight timeframe (100ms) otherwise the motor will stop moving and blast back an I STOPPED BECAUSE THE GROUP WASN'T HEALTHY message. Likewise, if a motor stops because of one it's own sensors / faults, it will immediately send back a I STOPPED WITH A FAULT. If Spikemark sees that message come back from any member of the Group, it will immediately send out a GROUP STOP! message. This Group heartbeat message is sent from Spikemark to every motor in the group on a separate network socket, at high speed, to keep it out of the stream of other necessary Spikemark messages. So, grouped Stagehands will either stop because of:
A problem local to their machine
A message indicating a problem with another motor in the group
The lack of a message indicating there are no problems in the group
With that background, let's answer some common questions...
Does hitting a limit switch on one motor in the group stop all motors in the group?
Yes, a limit triggered on any motor will stop the entire group. To recover, you have to override the limit signal on the offending motor(s), or individually jog the offending motor off the limit. You should work really hard not to trip limits with groups because recovery kinda sucks. Could/should it be better. Yes, but currently groups will not allow any motion if any motor in the group is faulted. It's the most nuclear option for maintaining safe movement but it can make operation tedious at best.
When I jog the group, sometimes the motors get out of alignment, why?
Jogging is the absolute hardest thing for the motors to do and stay synchronized. Remember that each Stagehand is executing independently and really only linked together to stop moving if there is an issue with a sibling motor. Since we want motors to match speed when jogging, but we don't know that they are mechanically the exact same, we send them a velocity jog signal like MAINTAIN SPEED AT 12"/s then MAINTAIN SPEED AT 12.1"/s then MAINTAIN SPEED AT 11.8"/s with each wiggle of the joystick. To jog effectively, we're sending out lots of little corrections to each motor, but we can't pre-plan the motion at all. Cues are a different beast. With cues, we can send a motion plan with position targets down to each Stagehand and then synchronize the GO message in each network socket. It's much much better. So much better that we often prefer to use the Move To Position feature on the Jog Screen rather than Joystick jogging. Not to say you shouldn't ever jog, just that it isn't surprising to see some variation in position when jogging since we aren't sending any position targets to the motors (just speeds). Lastly, make sure you're running the latest Spikemark. We've do loads of tweaks to Groups and the synchronization between motors gets better with every release.
Groups: Not Every Stagehand can be Grouped together
Groups are really powerful tools and any Stagehand can operate in a group, but there are some restrictions to keep in mind. The most important detail is that some Stagehands cannot be grouped together.
The dividing line: which Stagehand Control Card is inside your Stagehand?
Rev1 - Rev5 Stagehand cards = Group away!
Rev6 Stagehand card = Group away!
Let’s look at 2 examples of Stagehands that can be grouped together, and one example that won’t work:
Good to go:
Stagehand Pro 3 and Stagehand Pro 4
Stagehand Apprentice and Stagehand Classic
No dice:
Stagehand Pro 5 and Stagehand Pro 4
Take a look at the list below to find your Stagehand - any Stagehand in the same column can be grouped together in Spikemark:
Groups: Adding & Editing Groups
Groups: Creating a Group and Adding Motors
Select one or more motors
Right Click on a selected motor to Add it to a Group.
The Group Dialogue Box will automatically pop up.
Click the "+" to create a new Motion Group.
Highlight the name and change it to DS Scenic Truss.
Click to the left of the name box to make sure it's selected. It will highlight blue.
Click "OK" to confirm adding to the group, and close the Group Dialogue Box.
Groups: Leaving a Group
Right Click on the Motor in the Group
Leave Group will keep the Motor in the show but will just remove it from the group
Click Leave Group
Delete From The Show will delete the Stagehand that is apart of a group
Click Delete from the Show
Groups: Deleting a Group
Proceed with caution - Removing a group cannot be undone!
Right Click on the Group Header
Remove Stagehand will delete the whole group and motors within that group from the show. If you want to keep all the Stagehands in a group, but delete the group, you will need to Leave Group first, then delete the whole group.
Groups: Properties
The Group Properties panel is on the right, and looks similar to the Stagehand Properties panel. To see the group properties, click on the Group.
Pro tip: If you want to adjust the properties of a motor in a group, just click on the individual motor and the Stagehand Properties will be displayed.
Groups: Network Pane
The buttons at the top allow you Connect To All or Disconnect From All the Stagehands within the group.
Groups: Motors & Status
The Motors pane of the group will show every motor in the group, its position, speed, and status icon.
The Allow Children To Be Run Independently check box refers to the motors inside of the selected group. If the box is unchecked, you will only be able to move this group as a group. If this box is checked you will be able to run each motor independently and as a group.
Groups: Speed Properties
The Speed Pane allows you to set:
Max Speed - will prevent the group from exceeding this speed
Default Speed - this will be the default speed for each cue that uses this group
Default Accel - this will be the default Acceleration and Deceleration for each cue that uses this group
Max Jogging Speed - The max percentage of speed when jogging
Min Jogging Speed - the min percentage of speed when jogging, this is best set to 3% to reduce any brake fluttering that happens at super low speeds.
The Motor Group will limit the max speed to the motor with the lowest value in the group. For instance, if you have a Spotline grouped with a Smart Chain Hoist, the max group speed will be 20"/sec.
Groups: Timeout Options
Group Timeout values are important to confirm the group is connected and ready to move.
Group Timeout values often don't need to be adjusted from their defaults. If you are getting a group fault or have cue links with groups that do not always trigger, you may need to adjust these Timeout values or assess if you have other network issues.
The first two timeouts control how fast a group reacts to a network issue. When a cue is loaded, a watchdog (a fancy networking term) is created that monitors the group through the end of cued motion.
The watchdog uses the following timeout times to determine how much time can elapse without receiving feedback before faulting:
The slow timeout time while the cue is loaded.
The fast timeout time when a cue is running
If the motors don’t respond saying that everything is good within the specified time, motion is aborted and you’ll see a Group Fault icon
The scheduled timeout is the amount of time the group stays active after a cue completes. Keeping this at 1500ms allows for cue links to behave properly. If there are other network issues, this may need to be adjusted.
When the scheduled timeout is reached, the group is disbanded. You will see a long list of what appear to be faults in the log when this happens. Have no fear, the "disposed object" is the group - or more correctly the lack of the group.
Groups: Position & Weight Delta
Position Delta
The Position Delta Pane will show details on:
Min Position - shows which motor in the group has the smallest position, and what its current position is.
Max Position - shows which motor in the group has the greatest position, and what its current position is.
Delta - shows the difference in position between the motor with the Max Position and the motor with the Min Position.
Weight Delta
The Weight Delta Pane will show details on:
Min Weight - shows which motor in the group has the smallest weight, and what its current weight is.
Max Weight - shows which motor in the group has the greatest weight, and what its current weight is.
Delta - shows the difference in weight between the motor with the Max Weight and the motor with the Min Weight.
Groups: Writing Cues
Write Cues with groups just like you do with single motors.
Individual motors within group movements can have different speeds and targets. If this is the case for your cue, edit each movement individually and you’re ready to go.
If you are sending all the motors in a group movement to the same target at the same rate, you can set the values on one motor and use the “Copy to Group” button.
Load and Run your cues, and the groups will be monitors and stop all the motors of a group if one motor in the group faults.
Last updated