Programming A Robot The Way You Program A CNC Machine Tool

Programming a robot with the same CAM software used for a multi-axis machine tool makes it unnecessary to “teach” the robot by jogging it manually from point to point and recording these point-to-point moves as the robot’s motion commands. Robotmaster is a software package that provides this CAD/CAM-based, off-line programming for robots. It runs fully integrated inside Mastercam CAM software for CNC machine tools.


Facebook Share Icon LinkedIn Share Icon Twitter Share Icon Share by EMail icon Print Icon

It’s almost universally taken for granted that a multi-axis machine tool must be programmed with CAM software especially developed for this purpose. Now, that same kind of software can be used to program a six-axis robot arm. Programming the robot in CAM software makes it unnecessary to “teach” the robot by jogging it manually from point to point and recording these point-to-point moves as the robot’s motion commands. Teaching a robot this way can be cumbersome and time-consuming. During the process, the robot must be taken out of production.

Robotmaster is a software package, distributed by In-House Solutions Inc. (Richboro, Pennsylvania), that provides CAD/CAM-based, off-line programming for robots. Although off-line programming for robots is not new, this software is distinguished by its CAD/CAM integration. It runs fully integrated inside Mastercam CAM software for CNC machine tools. Mastercam, developed by CNC Software (Tolland, Connecticut), is a widely used CAM product that starts with a CAD geometry file and creates two- to five-axis tool paths for machining a corresponding workpiece. Essentially, programming the robot begins by using the functionality of Mastercam to manipulate the movement and orientation of a cutting tool as if creating a conventional tool path for CNC machining. Later, this machining tool path is converted into robot poses, which combine its position and orientation.

Once the cutter trajectory is created, a Robotmaster module lets the programmer draw from a library of pre-configured robots representing various makes and models of articulated robot arms. Normally, Mastercam uses the definitions in a “machine group” to determine the tool path output for the specific machine being programmed. In this case, however, the robot programming module enables the CAM software to treat the pre-configured robot as the definition of a specialized type of machine tool structure. This lets it take advantage of the robot’s unique architecture, which is unlike that of a typical CNC machine tool. The user must also define a few other items such as the robot’s end-of-arm tooling.

Next, a Robotmaster parameter screen working within the Mastercam framework enables the user to fine-tune parameters for robot motion. The system then automatically converts the CNC tool path into six-axis robotic trajectories, thus generating robot-specific motion for cutting trajectories as well as sweeping joint motion for “air” moves.

Other modules for robot programming provide the remaining steps that a programmer typically follows when programming a CNC machine tool. A simulator allows the user to validate and optimize the robotic program, check for collisions and so on. The simulator can display a model of the robot and workpiece or the entire work cell, including multiple machines and fixturing. Finally, a special postprocessor compiles the program file in the format required for the particular robot for which type of robot is employed. The software supports Motoman, Fanuc, ABB, Kuka and Staubli robots.

Applications for the robot programming include trimming, welding, spray-coating, painting, polishing, deburring/deflashing, dispensing, grinding and milling. Interestingly, milling with a robot is proving practical for producing molds, patterns and other workpieces as robots become more rigid and accurate. According to the software developers, milling programs can be generated automatically for a CAD model and subsequently modified to adjust for changing cutter shape, cutter diameter, depths of cut and number of cuts. The robot can perform roughing and finishing operations as well as the tool changes necessary to complete each program. It is appropriate, then, that robot programming should be based on CAM software as it is for CNC machining.

Related Topics


  • A Closer Look At Look-Ahead

    This CNC capability is helping make machine tools move far faster, and more accurately, than ever before. Here's how it works.

  • How to Slash 5-Axis Finishing Time

    Finally there is an alternative to ballnose endmills for finishing 3D parts. The combination of finishing tools shaped to provide more cutting surface and a CAM system with the ability to apply them on a five-axis machining center can dramatically reduce finishing cycle times while delivering better surface finishes.

  • Understanding NURBS Interpolation

    The right way to program curves? A solution to yesterday's problems? The truth is probably somewhere in between.