This page provides detailed information of the tending a CNC lathe machine application.


Application – Video


  • Pick a part from one of two possible locations in a presentation fixture.
    • The robot will pick from the first stack using contact detection and miss pick detection.
    • Once the first stack is empty (determined by 2 consecutive miss picks) the robot will pick from the second location.
    • Once the second stack is empty, the robot will send a signal to the PLC to index the table.
    • After the table has indexed, the robot will start picking from the first stack location again. Note that the table contains 24 indexes for a total of 48 part stacks.
  • Wait for the machine door to open (signal sent to robot from machine).
  • Move into the machine.
  • Grasp the finished part and trigger the chuck to release.
  • Move to place the new part, use a force push to ensure the part is correctly seated and trigger the chuck closed.
  • Move to place the finished part and trigger the machine to start.
  • Drop the finished part into a chute that leads to a cardboard box that will accumulate the parts.
  • Repeat the process continuously until all 48 locations on the table have been emptied.
  • Move to a home pose above the table and wait for user input to continue.
    • An operator will fill the table and trigger the robot to continue with a push button switch or force input.

Gripper Information


  • End of arm tooling is a Rethink Robotics VSG kit.
  • Center of mass and tool center point details were obtained estimated based on SolidWorks model of standard kit assembly.
  • Two different subtools and tool center points are used to define each gripper endpoint location.
  • Default signal settings for a vacuum style ClickSmart gripper were used.
  • When training a pick or place Move To, the associate subtool is selected as the tool center point for the pose.


Gripper Image

3.2 CNC Gripper.jpg


Tool Settings

  • Tool Center Point
    • Subtool 1 = (X)=-40mm, (Y)=-95mm, (Z)=90mm
    • Subtool 2 = (X)=-40mm, (Y)=95mm, (Z)=90mm
  • Mass = 1000g
  • COM = (X)=8.5mm, (Y)=0mm, (Z)=15.6mm

3.2 CNC Gripper Settings.png

Task Overview

Note: This task was created using Intera 5.2. Some differences may be seen if you are using newer versions of Intera.

3.2 CNC Task Overview.PNG

Signals and Variables


Signal Name



Machine Ready



Continue Switch



Chuck Output



Start Machine



Index Table



All of the signals are configured with a default value of 0 (or false) and all outputs were set to pulse for 2 seconds. A pulse signal was used on the outputs since a PLC was used as the interface between the machine and robot and all latching logic was handled in the PLC. The image below shows the configuration of one of the output signals.

3.2 CNC Signal Configuration.PNG



The image below shows the four user variables used in this task along with the default values.

3.2 CNC Variable List.PNG

Intera Insights Data

What is Being Displayed

  • Display Variable: Total Part Count
  • This variable is used to track the total number of parts processed by the robot.
  • Stats Variable: Cycle Time
  • The stats variable is monitoring the overall cycle time of the task. Cycle time is being tracked from the "Task" sequence node.
  • Chart 1: Vacuum Sensor Gripper A
  • This is being tracked in order to monitor drops in vacuum that could be caused by clogged lines or degrading suction cups.
  • Chart 2: Vacuum Sensor Gripper B
  • This is being tracked in order to monitor drops in vacuum that could be caused by clogged lines or degrading suction cups.
  • Chart 3: Measured Force in the Z Axis
  • Force is being applied and monitored at multiple points in this application. Monitoring the force allows the operators to note potential issues if they are seeing spikes in force.


Head Screen

3.2 CNC Insights Head Display.PNG

Intera Studio Insights Panel

3.2 CNC Insights Studio Menu.PNG

Key Task Elements

Task Work Flow

3.2 CNC Task Work Flow.PNG



  • The robot moves to a home position and while ensuring that vacuum is off on both subtools. Valve 1 is also opened since air is being run through the controller so it can be easily stopped during testing and programming.
  • One landmark is used in this task but the automatic re-registration is disable. The fixture and robot are both bolted to the machine so nothing is expected to move.

3.2 CNC Initialize Overview.PNG


Pick from Table

Pick Location Notes:

  • Before picking, the robot moves to a home position near the two pick locations.
  • When picking, the first location is the priority. The default value for the 'Pick Option' variable is 1.

CNC 3.2 Pick Option Overview.PNG

Force Check Notes:

  • Force detection is used to pick the parts from a stack.
  • A force of 7N in the Z direction was used to detect contact on the pick.

3.2 CNC Force Sesning Pick Overview.PNG

Miss Pick Notes:

  • The task determines that a stack of parts is empty if 2 consecutive miss picks are detected.
    • If the system is currently running the first pick location, the miss pick logic will change the 'Pick Option' variable to be 2.
    • If the system is currently running the second pick locations, the miss pick logic with change the 'Pick Option' variable back to 1 and also index the part presentation table. There is a 5 second wait to allow time for the table to index.

3.2 CNC Miss Pick Logic Overview.PNG


Move to Machine and Wait


  • Wait Until node is used to prevent the robot from entering the machine until an input signal is received from the machine.
  • The signal is received once the machine door is open and the robot will then move into the machine.

3.2 CNC Path to Machine and Wait Overview.PNG


Pick Finished Part


  • Basic miss pick logic is used. If a miss pick occurs twice, the robot will stop and display an error.
  • Before moving to the retract point, an output signal must be sent to open the chuck holding the part.

3.2 CNC Finished Part Pick Overview.PNG


Place New Part


  • Apply Force is used in the Contact Mode to ensure the part is flat against the back of the chuck before triggering the chuck to close.
  • While still in the Contact Mode, a short delay is applied to give the robot time to start applying the force and then a signal is sent to close the chuck. Another delay is used after the signal is sent to ensure the chuck closes fully before the force is no longer applied.
  • Standard Move To nodes are used before an after the force is applied to ensure the robot is stable at the beginning and end of the force push. This is a best practice when using apply force.

3.2 CNC Place New Part Overview.PNG


Trigger Machine While Exiting


  • A series of Joint moves are used to exit the machine.
  • The Start Machine signal is sent while the robot is exiting the machine in order to optimize cycle time.
    • This is done by placing a Set To node in the middle of the series of joint moves.
    • A series of joint moves are treated as a path during motion planning and a Set To node will not break up or pause this motion. This allows for the signal to be sent while the robot is moving without pausing or slowing the robot motion in any way.

3.2 CNC Start Machine Overview.PNG


Place Finished Part


  • After placing the finished part, a total count is incremented in order to keep track of batch quantities.

3.2 CNC Place Finished Part Overview.PNG