In-Motion Collision Checks

The machine simulator checks for in-motion collisions with the stock and part. In order to do so, it needs to make some assumptions about the behavior of the simulated machine during linear motions.

Essentially, it is assumed that the machine performs linear interpolation when moving from point A to point B. This is very simple (at least conceptually) as long as no table rotation is involved. When the linear motion includes table rotation, the term "linear interpolation" can be interpreted in two ways:

  • Dumb Machine: the motions are interpolated in the machine space. That means each axis is moved without any regard to the other axes, except for time synchronization (so they all move together, starting and stopping at the same time).

When the motion involves a large table rotation, such processing could actually cause collision, since the linear axes do not make any correction for the intermediate translation of the work-piece caused by table rotation. The start and end positions may be fine, but intermediary points may cause collision.

  • Smart Machine: the motions are interpolated in the part space (also known as RTCP). This means the linear axes are corrected during their motion to compensate for the linear translation caused by the table rotation. The start and end positions are the same as the dumb machine, but the intermediate trajectory is different. This machine has a better chance of not colliding with the stock or the part (assuming, of course, the original motion calculated within Cimatron was OK in that respect).

The following two images demonstrate the behavior of a machine with and without RTCP, when it performs a rotation of the head. The dumb machine (no RTCP) simply performs an arc between the start and end points, while the smart machine (with RTCP) corrects the spindle location throughout the motion to achieve a straight line motion between the start and end points. Similar behavior can be shown for rotating table machines.

By default, the machine simulator assumes a smart machine behavior. The in-motion collision check is actually done in the part space, effectively ignoring any intermediate translation caused by table rotation. This may be fine for some machines, but not true for others.

Note that a given machine may support RTCP in general (M5_RTCP_M128 inside GPP2), meaning it can accept XYZ tool positions in the part UCS, and yet to perform perfect RTCP inside the linear motion itself. The start and end points are perfect - but the motion between them does not make perfect compensation throughout the linear motion.

It is possible to instruct the machine simulation to assume a dumb machine behavior, making the linear interpolation in the machine space and checking intermediate positions for collision.

To do this, use the SIM_IN_MOTION_CHECK system flag. It is a variable of format ANGLES, meaning it should be set in degrees. It defines the angular step, in degrees, in which the machine simulation will check for in-motion collisions. For instance, if set to 1.0, and a given linear motion rotates the table by 5 degrees, the machine simulator will divide the motion into five segments and check the intermediate positions for collisions.

By default, the SIM_IN_MOTION_CHECK system flag is set to 0.0, which disables this behavior (the machine simulator assumes perfect RTCP, smart machine interpolation). The EX2 program must set it to a different (positive) value in order to activate the more elaborate dumb machine collision testing.

Note that such in-motion collision tests increase the machine simulator processing time. However, when this is the way the machine really works (machine space interpolation, no intermediate trajectory correction), such in-motion tests are extremely important.

Some functionality may be dependent on the product package. Contact your Reseller if you require a license.