| Motion groups | Motion groups are a set of devices to be programmed as a single entity to reflect existing controllers, mostly for download
Does not require a parent/child relationshipThough they are  grouped, each entity remains  independent in terms of motion (although the program considers them as both)Only one inverse kinematic device per group
 | Requires resource typingRequires attachment and ports (if relative motion is needed)
 | Allows for different motion groups to be created for the same set of devices, allowing different programs on each motion groupAllows for coordinated motion programmation
 | Grouped devices are not kinematically solved altogether.
 | 
| Mechanisms | Mechanisms may combine  kinematic sub-elements into a single one (so it can be programmed as a single entity)Sub-elements must be parented as children of the main assemblyThe motion of sub-elements are combined to reflect the mechanism system as an unique entity
 | For flexible assemblies, you must declare the joints to be flexible.
 | Allows for the resolution of a complex kinematics system altogether.
 | Once a mechanism has been defined, it is not meaningful to define another mechanism and combine them for programming.
 |