Robot programming in MachineLogic
Contents

Overview
To enable more applications to be served in MachineLogic, you will now be able to program your robot through our code-free programming tool. The offline programming features will enable you to control your robot’s end-of-arm-tool, input pins, and robot position.
Key features
The benefits of using our offline programming software include:
- Supported robot models for offline programming include:
- Universal Robots (e-series and CB-series)
- Fanuc CRX10iaL
- Fanuc CRX10ia
- Doosan H2017
- Doosan H2515
- The output file for each of these robot programs is a post-processed file that need to be uploaded onto the robot controller to operate
- Being able to design, program and deploy your robot cell in a single environment
- Being able to interact your robot with Vention’s parts and your imported parts (ie. boxes, raw material, etc.)
- Being able to accurately deploy your offline robot program seamlessly in the real-world by using our digital calibration tool
- Being able to program your robot easily with our software features (robot jogger, point-to-point command that allows you to snap your TCP to a part in the 3D workspace, robot triad, etc)
- Being able to use application software templates to allow you to easily program your robot (ie Machine tending app)
Safety Notice
MachineBuilder is a complete 3D-CAD platform that allows users to quickly design complex automation solutions. It needs to be noted that safe design principles and techniques are to be considered by the user. Therefore, ensure that your design contains the appropriate safety systems to suit your application.
Setting up in CAD
To begin programming your robot arm, insert one of the following robot CAD models into the CAD scene:
- Universal Robot (e-series and CB-series) [PR-UR-001-000X]
- Fanuc CRX10iaL (PR-FA-001-0501)
- Fanuc CRX10ia (PR-FA-001-0500)
- Doosan H2017 (PR-CZ-001-0504)
- Doosan H2515 (PR-CZ-001-0502)
Step 1: Configure your robot and end-of-arm-tool
- Click “Add robot” to configure your robot.
- Under “Robot Name”, add a friendly name for your robot.
- Under the “End of Arm Tool” drop-down menu, select the end-of-arm-tool you would like to configure.
- Select the output pins for your end-of-arm tool. This would be the closed state.
Step 2A: Visual Sequence (Custom application):
This step allows you to build programs for your robot. You could create your own custom robot program or follow an application specific template to program your robot.
Creating a custom application allows you to create a program without any guidance with our library of programming tools. Click “Add Application”, then click on “Add custom application”.
2.1 - Basic functions
To use basic functions such as moving your robot and controlling your robot, you have the option to create local (useful for one-time use) robot paths in your main/child sequences.
Local robot path:
- Go to your main or child sequence.
- Click on “Add command” > “Add robot path”.
- Add waypoints and robot commands.
- MoveJ: Allows you to move your robot in an unrestricted way from the previous waypoint to the current waypoint.
- MoveL: Allows you to move your robot’s end of arm tool in a linear trajectory from the previous waypoint to the current waypoint.
- Use joint angles: Allows you to move your robot using the exact joint angles you have taught your waypoint with.
- Local reference frame: Allows you to define where you want to place your reference frame or where you want to place your waypoints with respect to.
- Global reference frame: Allows you to specify the coordinate system from which the defined waypoints will be created with respect to. The reference frame is defaulted to the robot base otherwise.
2.2 - Advanced functions
Most of our advanced functions are stored under robot assets. These assets are specifically meant to be used with the robot you would like to program and these assets could be used on a global level to execute in any sequence.
2.2.1 - Robot arrays
Robot arrays allow you to create a grid of execution points (which could also be referred to as reference frames), where the robot could execute a single “robot path” over each execution point. This robot array is meant to be used with the “Add robot loop” command.
2.2.2 - Robot Paths
Robot paths allow you to create series of robot waypoints and actions. Robot paths created at the robot assets level can be reused in the main or child sequences of your program.
- Click on “robot assets” > “Robot paths”
- Click “Add a robot path”
- Add waypoints, robot commands in your robot path
- Execute this robot path in the child/main sequence by clicking “Add robot path”.
- In the drop-down menu, select the robot path you want to execute.
- Optional: Select a new global reference frame (otherwise, the global reference frame will be used)
2.2.3 - Digital calibration tools
After you have completed your program, the last step before downloading your robot program is to add your calibration tool to your 3D design to accurately deploy your robot program from the cloud environment of MachineBuilder to your factory floor.
Add a digital calibration tool into your design to create a local coordinate system near an object for which a high-precision pick and place movement is required. The robot will then update all waypoints programmed to move with respect to this local coordinate system. For best results place the digital calibration tool using the following steps:
- Make sure that the placement of the digital calibration tool in MachineBuilder is at a repeatable position you can locate on your robot setup in real-life
- Make sure that the digital calibration tool is directly connected to the part which the robot path is programmed with
2.2.4 - Robot loops
This command allows you to utilize a combination of robot arrays and robot paths.
- Robot paths: A set of waypoints and robot commands.
-
Robot arrays: Robot arrays allow you to create a grid of execution points (which could also be referred to as reference frames), where the robot could execute a single “robot path” over each execution point. To create a robot array, use:
- Fixed spacings array: Creates a 2D pattern that has equal spacing between rows and columns. Select the reference point where you would like the array to be located, fill in the fields and click “Generate”.
Step 2B: Machine Tending Application
- Click “Add Application”, then click on “Add machine tending” to get a step-by-step walk through.
Step 1: Create an array
This array will help you create execution points, where you could play a robot path over each of these points. This gives you the ability to make similar robot moves execute over many different points.
- You will be prompted to click on a reference frame in the CAD to locate where the execution points should be located. Click on a point on the top tray to confirm the location.
- Under “Array Type”, select “Fixed spacings”. This will allow you to create an array with fixed spacings for your rows and columns.
- Under “Array Name”, give your array a friendly name.
- Enter the number of rows and columns you want your array to contain.
- Specify the spacing between your columns and rows.
- Click “Generate” to see the array in the 3D space.
- You may re-order the execution points to control the order of the robot paths that will be executed on each of those points.
- Click “Done” when you are happy with your array.
- Create an array on each tray you would like to operate on. Build from the top to the bottom. You could duplicate the first array and change only the reference frame if you want the same order.
Step 2: Create movements
This step allows you to create robot paths to be executed on your “approach movement”, “retract movement” and your drop-off location.
- Build an approach path for the top tray by adding waypoints and robot commands. Add your waypoints with respect to the reference from of your array. Click confirm once you are happy with the waypoint. **Tip**: Click on “Move with” drop-down menu and select point-to-point. Then in CAD, snap to the point you want your TCP to land on.
- Add waypoints and robot commands to retract from your tray.
- Add a waypoint to drop off your part.
- Click “This is my final drop off point” for the waypoint that you would like to use to drop off your raw material in the CNC machine.
- Add robot commands to open your gripper.
- Add waypoints to retract from the CNC machine.
Step 3: Create tray open position
This step allows you to select a round extrusion as the handle to open your tray.
- From the drop-down menu, the program will auto-populate a tray that is closest to the array on the first tray (the top tray’s handle that you would like the robot to open). You have the option to override the auto-populated option.
Step 4: Review
Review the information of your configuration. If the information is correct, click “Generate my application”.
Go to your main sequence and play to watch your robot simulate!