{"id":458,"date":"2018-04-20T08:58:07","date_gmt":"2018-04-20T12:58:07","guid":{"rendered":"https:\/\/robodk.com\/blog\/?p=458"},"modified":"2024-11-05T04:11:39","modified_gmt":"2024-11-05T09:11:39","slug":"robot-post-processors","status":"publish","type":"post","link":"https:\/\/robodk.com\/blog\/robot-post-processors\/","title":{"rendered":"Robot Post-Processors: Everything You Need to Know"},"content":{"rendered":"<p><strong>Don&#8217;t know which post-processor to choose? Here are 5 steps for picking the perfect robot post-processor.<\/strong><\/p>\n<p><!--more--><\/p>\n<p style=\"text-align: justify;\">Post-processors are the bridge between the offline programming software and your robot.<\/p>\n<p style=\"text-align: justify;\">If you pick the right post-processor, your program will work out-of-the-box \u2014 the real robot will move exactly as it did in the simulation. However, if you pick the wrong post-processor, you are in for a difficult time \u2014 the robot might move erratically, it might move in the wrong direction, or it might not move at all.<\/p>\n<p style=\"text-align: justify;\">RoboDK provides a lot of different post-processors to choose from. It&#8217;s worth becoming familiar with how post-processors work, how to choose the right one, and how to customize or create your own post-processor if the ones provided are not exactly right for you.<\/p>\n<p style=\"text-align: justify;\">This article will tell you everything you need to know about robot post-processors in RoboDK.<\/p>\n<h2>What Is a Post-Processor?<\/h2>\n<p><a href=\"https:\/\/robodk.com\/blog\/wp-content\/uploads\/2018\/04\/Robot-Instructions.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-497 alignright\" src=\"https:\/\/robodk.com\/blog\/wp-content\/uploads\/2018\/04\/Robot-Instructions.png\" alt=\"Robot Instructions\" width=\"277\" height=\"234\" \/><\/a><\/p>\n<p style=\"text-align: justify;\">Most robot programs contain the same basic commands, which are used over and over again. The three most common are:<\/p>\n<ul>\n<li><strong>Move Joint \u2014 <\/strong>This moves the robot to a point in space by sending the robot joints to their desired position the quickest way possible, which is useful when moving through free space.<\/li>\n<li><strong>Move Linear \u2014<\/strong> This moves the robot from the current position to a point in space by following a precise line, which is useful when moving to pick up an object, painting, etc.<\/li>\n<li><strong>Set Speed \u2014<\/strong> This defines the speed of the robot&#8217;s end effector and\/or joints.<\/li>\n<\/ul>\n<p style=\"text-align: justify;\">Offline programming software creates programs using a generalized version of these (and other) commands which can be applicable to any robot.<\/p>\n<h3>Robots Speak Different Languages<\/h3>\n<p style=\"text-align: justify;\">The problem is that each different manufacturer has a different way to program commands into their robots. Many manufacturers have their own custom programming language and some even use slightly different commands for different versions of their controllers.<\/p>\n<p style=\"text-align: justify;\">For example, here is how the three commands I listed above are expressed for different robot controllers. In parentheses, I&#8217;ve also shown the minimum number of parameters and values required to control a 6DoF robot:<\/p>\n<table style=\"font-size: 80%;\">\n<tbody>\n<tr>\n<td width=\"100\"><strong>Robot<\/strong><\/td>\n<td width=\"100\"><strong>Joint Move<\/strong><\/td>\n<td width=\"100\"><strong>Linear Move<\/strong><\/td>\n<td width=\"100\"><strong>Set Speed<\/strong><\/td>\n<td width=\"100\"><strong>Path Rounding<\/strong><\/td>\n<\/tr>\n<tr>\n<td width=\"100\"><strong>ABB IRC5<\/strong><\/td>\n<td width=\"100\">MoveJ (4)<\/td>\n<td width=\"100\">MoveL (4)<\/td>\n<td width=\"100\">speeddata(4)<\/td>\n<td width=\"100\">zonedata(4)<\/td>\n<\/tr>\n<tr>\n<td width=\"100\"><strong>Fanuc RJ3<\/strong><\/td>\n<td width=\"100\">J (2)<\/td>\n<td width=\"100\">L (2)<\/td>\n<td width=\"100\">speed (1)<\/td>\n<td width=\"100\">CNT (1)<\/td>\n<\/tr>\n<tr>\n<td width=\"100\"><strong>Kawasaki<\/strong><\/td>\n<td width=\"100\">JMOVE (1)<\/td>\n<td width=\"100\">LMOVE (1)<\/td>\n<td width=\"100\">SPEED (1)<\/td>\n<td width=\"100\">ACCURACY (1)<\/td>\n<\/tr>\n<tr>\n<td width=\"100\"><strong>KUKA KRC<\/strong><\/td>\n<td width=\"100\">PTP (1)<\/td>\n<td width=\"100\">LIN\/SPL (1)<\/td>\n<td width=\"100\">$VEL.CP (1)<\/td>\n<td width=\"100\">$APO.CDIS (1)<\/td>\n<\/tr>\n<tr>\n<td width=\"100\"><strong>Motoman JBI<\/strong><\/td>\n<td width=\"100\">MOVJ (2)<\/td>\n<td width=\"100\">MOVL (2)<\/td>\n<td width=\"100\">VJ\/V (1)<\/td>\n<td width=\"100\">PL (1)<\/td>\n<\/tr>\n<tr>\n<td width=\"100\"><strong>Universal Robots<\/strong><\/td>\n<td width=\"100\">movej (1)<\/td>\n<td width=\"100\">movel\/movep (1)<\/td>\n<td width=\"100\">v(1)<\/td>\n<td width=\"100\">r (1)<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p style=\"text-align: justify;\">As you can see,\u00a0 each command is similar between each robot type. However, there is a difference in the wording and in the amount of information required to define each instruction.<\/p>\n<p style=\"text-align: justify;\">Without offline programming and post-processors, you would have to learn a completely new programming language every time you programmed a new type of robot. This significantly slows down robot programming.<\/p>\n<h3>Post-Processors Make It Easy<\/h3>\n<p style=\"text-align: justify;\">Post-processors work by translating the commands into a specific program for your robot model.<\/p>\n<p style=\"text-align: justify;\">With RoboDK, you don&#8217;t have to learn a programming language to get your robot moving. The post-processors provided are usually enough to generate usable, bug-free code for over 30 brands of robot.<\/p>\n<p style=\"text-align: justify;\">The post-processor also generates all the necessary initiation code and variable definitions, which are often a nuisance to define in regular text-based programming.<\/p>\n<h2>5 Steps for Picking the Perfect Post-Processor<\/h2>\n<p>RoboDK comes packaged with over 40 post-processors. You have to pick the right post-processor for your robot controller.<\/p>\n<p style=\"text-align: justify;\">How do you choose between them?<\/p>\n<p style=\"text-align: justify;\">If you have used one of the robots from our <a href=\"https:\/\/robodk.com\/library\" target=\"_blank\" rel=\"noopener\">Robot Library<\/a>, you will find that one post-processor is already selected as a default. Often, this is assumes you are using the latest (or default) controller for that robot. However, you may find that you need to select another one if the default post does not suit the needs of your application or setup.<\/p>\n<p><a href=\"https:\/\/robodk.com\/blog\/wp-content\/uploads\/2018\/04\/SelectPostProcessor.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-494\" src=\"https:\/\/robodk.com\/blog\/wp-content\/uploads\/2018\/04\/SelectPostProcessor-300x181.png\" alt=\"Select Robot Post Processor\" width=\"598\" height=\"361\" srcset=\"https:\/\/robodk.com\/blog\/wp-content\/uploads\/2018\/04\/SelectPostProcessor-300x181.png 300w, https:\/\/robodk.com\/blog\/wp-content\/uploads\/2018\/04\/SelectPostProcessor-768x463.png 768w, https:\/\/robodk.com\/blog\/wp-content\/uploads\/2018\/04\/SelectPostProcessor.png 820w\" sizes=\"auto, (max-width: 598px) 100vw, 598px\" \/><\/a><\/p>\n<h3>1. Pick the Post-Processor for Your Robot Brand<\/h3>\n<p style=\"text-align: justify;\">Usually, it&#8217;s best to try the default or most basic post-processor first.<\/p>\n<p style=\"text-align: justify;\">Some robot brands only have one option provided by default in RoboDK, e.g. <a href=\"https:\/\/mecademic.com\/\">Mecademic<\/a>, <a href=\"https:\/\/kawasakirobotics.com\/es\/\">Kawasaki<\/a>,\u00a0<a href=\"https:\/\/www.cloosna.com\/\" target=\"_blank\" rel=\"noopener\">CLOOS<\/a>, etc. In this case, your choice is very simple.<\/p>\n<h3>2. Pick the Post-Processor for Your Controller<\/h3>\n<p style=\"text-align: justify;\">Some robot brands have different post-processors for different controllers or versions of their programming language. For example, <a href=\"https:\/\/www.densorobotics.com\/download\/controller-aois-product-sheet\/\" target=\"_blank\" rel=\"noopener\">Denso<\/a> has one post-processor for its older RC7 controllers and one for its newer RC8 controllers, as between these models they moved from programming in the PAC programming language to programming in PacScript.<\/p>\n<p style=\"text-align: justify;\">Use the post-processor for your specific controller if one is available. If there is no option for your specific controller, try the one which is closest to your controller\u2019s version number.<\/p>\n<h3>3. Pick the Post-Processor for Your Application<\/h3>\n<p style=\"text-align: justify;\">Some robot brands have quite a few different post processors. <a href=\"https:\/\/www.kuka.com\/en-us\" target=\"_blank\" rel=\"noopener\">KUKA<\/a> has 10!<\/p>\n<p style=\"text-align: justify;\">Some of the extra post processors are for specific applications or setups. For example, there are 5 post-processors for the KUKA KRC2 controller. Two of these are for applications using their <a href=\"http:\/\/pdf.directindustry.com\/pdf\/kuka-roboter-gmbh\/kukacamrob-complete-robotic-systems-automatic-cnc-machining\/17587-24135.html\" target=\"_blank\" rel=\"noopener\">CamRob milling add-on<\/a>\u00a0or KUKA CNC control, which allows having thousands of lines of code in one program file (suitable for robot machining). One is specifically for Arc Welding applications. Similarly, there is a UR post-processor that integrates\u00a0<a href=\"https:\/\/robotiq.com\/\" target=\"_blank\" rel=\"noopener\">Robotiq<\/a> grippers.<\/p>\n<p style=\"text-align: justify;\">If there is a post-processor for your controller which is correct for your specific application or setup, use it. However, if there is none for your application just use the basic post-processor for your brand and controller.<\/p>\n<h3>4. Pick the Post-Processor Which You Can Easily Update<\/h3>\n<p style=\"text-align: justify;\">Sometimes, the program generated by RoboDK won&#8217;t be exactly right for your application. You might want to add extra lines of code to extend the functionality. This very easy to do if you are a little familiar with your robot&#8217;s programming language.<\/p>\n<p style=\"text-align: justify;\">A few of the post-processors are provided to make it easier to change and update the generated code.<\/p>\n<p style=\"text-align: justify;\">For example, the KUKA KRC2 has options which generate a DAT file. These are an interesting feature of the KUKA controller. In this configuration, positions are stored as variables into a separate DAT file, which can sometimes make it easier to update the code as you only need to change the variables to alter the positions.<\/p>\n<p style=\"text-align: justify;\">Similarly, there are two <a href=\"https:\/\/www.siemens.com\/global\/en\/products\/automation\/systems\/cnc-sinumerik\/automation-systems.html\" target=\"_blank\" rel=\"noopener\">Siemens Sinumerik<\/a> post-processors: one where the positions are provided in millimeters and the other where they are provided in inches.<\/p>\n<p style=\"text-align: justify;\">Choose the post-processor which makes it as easy as possible for you to update the robot code, should you need to.<\/p>\n<h3>5. Create or Customize a Post Processor<\/h3>\n<p style=\"text-align: justify;\">In some circumstances, you might need to write your own post-processor, such as when you are using your robot in a unique configuration.<\/p>\n<p style=\"text-align: justify;\">You may also want to customize an existing post-processor for your specific setup or application.<\/p>\n<p style=\"text-align: justify;\">It is very easy to write custom post-processors in RoboDK as all of them are Python programs and are written in a similar format.<\/p>\n<p style=\"text-align: justify;\">You can see a simple tutorial which shows how to create or update a post-processor in this video.<\/p>\n<div class=\"ast-oembed-container \" style=\"height: 100%;\"><iframe loading=\"lazy\" title=\"Create and Edit a Robot Post Processor - RoboDK\" width=\"500\" height=\"281\" src=\"https:\/\/www.youtube.com\/embed\/lbycCDjtOnE?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe><\/div>\n<p><a href=\"https:\/\/robodk.com\/doc\/en\/Post-Processors.html#PostProcessor\" target=\"_blank\" rel=\"noopener\">Check out the post-processor page in our documentation for more details.<\/a><\/p>\n<p><em>What questions do you have about post-processors? <strong>Tell us in the comments below or join the discussion on <\/strong><\/em><a href=\"https:\/\/www.linkedin.com\/company\/robodk\/\" target=\"_blank\" rel=\"noopener\"><strong><em>LinkedIn<\/em><\/strong><\/a><strong><em>, <\/em><\/strong><a href=\"https:\/\/twitter.com\/robodkinc\" target=\"_blank\" rel=\"noopener\"><strong><em>Twitter<\/em><\/strong><\/a><strong><em>, <\/em><\/strong><a href=\"https:\/\/www.facebook.com\/robodkinc\" target=\"_blank\" rel=\"noopener\"><strong><em>Facebook<\/em><\/strong><\/a><strong><em> or <\/em><\/strong><a href=\"https:\/\/www.instagram.com\/robodk\/\" target=\"_blank\" rel=\"noopener\"><strong><em>Instagram<\/em><\/strong><\/a><strong><em>.<\/em><\/strong><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Don&#8217;t know which post-processor to choose? Here are 5 steps for picking the perfect robot post-processor.<\/p>\n","protected":false},"author":753,"featured_media":500,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[21,6,24,22],"tags":[],"class_list":["post-458","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-offline-programming","category-robot-machining","category-robot-manufacturing","category-robot-programming"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Robot Post-Processors: Everything You Need to Know - RoboDK blog<\/title>\n<meta name=\"description\" content=\"Don&#039;t know which post-processor to choose? Here are 5 steps for picking the perfect robot post-processor. A robot post processor defines how robot programs must be generated for a specific robot controller. Robot Post Processors allow flexibility to support any robot controller.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/robodk.com\/blog\/robot-post-processors\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Robot Post-Processors: Everything You Need to Know - RoboDK blog\" \/>\n<meta property=\"og:description\" content=\"Don&#039;t know which post-processor to choose? Here are 5 steps for picking the perfect robot post-processor. A robot post processor defines how robot programs must be generated for a specific robot controller. Robot Post Processors allow flexibility to support any robot controller.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/robodk.com\/blog\/robot-post-processors\/\" \/>\n<meta property=\"og:site_name\" content=\"RoboDK blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/robodkinc\" \/>\n<meta property=\"article:published_time\" content=\"2018-04-20T12:58:07+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-11-05T09:11:39+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/robodk.com\/blog\/wp-content\/uploads\/2018\/04\/Robot-Post-Processors-Fanuc.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1464\" \/>\n\t<meta property=\"og:image:height\" content=\"654\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Alex Owen-Hill\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@AlexOwenHill\" \/>\n<meta name=\"twitter:site\" content=\"@robodkinc\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Alex Owen-Hill\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/robodk.com\\\/blog\\\/robot-post-processors\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/robodk.com\\\/blog\\\/robot-post-processors\\\/\"},\"author\":{\"name\":\"Alex Owen-Hill\",\"@id\":\"https:\\\/\\\/robodk.com\\\/blog\\\/#\\\/schema\\\/person\\\/3ca2d3b921633adceba2740817765638\"},\"headline\":\"Robot Post-Processors: Everything You Need to Know\",\"datePublished\":\"2018-04-20T12:58:07+00:00\",\"dateModified\":\"2024-11-05T09:11:39+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/robodk.com\\\/blog\\\/robot-post-processors\\\/\"},\"wordCount\":1187,\"commentCount\":1,\"publisher\":{\"@id\":\"https:\\\/\\\/robodk.com\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/robodk.com\\\/blog\\\/robot-post-processors\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/robodk.com\\\/blog\\\/wp-content\\\/uploads\\\/2018\\\/04\\\/Robot-Post-Processors-Fanuc.png\",\"articleSection\":[\"offline programming\",\"Robot Machining\",\"Robot Manufacturing\",\"robot programming\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/robodk.com\\\/blog\\\/robot-post-processors\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/robodk.com\\\/blog\\\/robot-post-processors\\\/\",\"url\":\"https:\\\/\\\/robodk.com\\\/blog\\\/robot-post-processors\\\/\",\"name\":\"Robot Post-Processors: Everything You Need to Know - RoboDK blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/robodk.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/robodk.com\\\/blog\\\/robot-post-processors\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/robodk.com\\\/blog\\\/robot-post-processors\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/robodk.com\\\/blog\\\/wp-content\\\/uploads\\\/2018\\\/04\\\/Robot-Post-Processors-Fanuc.png\",\"datePublished\":\"2018-04-20T12:58:07+00:00\",\"dateModified\":\"2024-11-05T09:11:39+00:00\",\"description\":\"Don't know which post-processor to choose? Here are 5 steps for picking the perfect robot post-processor. A robot post processor defines how robot programs must be generated for a specific robot controller. Robot Post Processors allow flexibility to support any robot controller.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/robodk.com\\\/blog\\\/robot-post-processors\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/robodk.com\\\/blog\\\/robot-post-processors\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/robodk.com\\\/blog\\\/robot-post-processors\\\/#primaryimage\",\"url\":\"https:\\\/\\\/robodk.com\\\/blog\\\/wp-content\\\/uploads\\\/2018\\\/04\\\/Robot-Post-Processors-Fanuc.png\",\"contentUrl\":\"https:\\\/\\\/robodk.com\\\/blog\\\/wp-content\\\/uploads\\\/2018\\\/04\\\/Robot-Post-Processors-Fanuc.png\",\"width\":1464,\"height\":654,\"caption\":\"Robot Post Processors\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/robodk.com\\\/blog\\\/robot-post-processors\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/robodk.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Robot Post-Processors: Everything You Need to Know\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/robodk.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/robodk.com\\\/blog\\\/\",\"name\":\"RoboDK blog\",\"description\":\"News about RoboDK, Industrial Robots, Simulation and Robot Programming\",\"publisher\":{\"@id\":\"https:\\\/\\\/robodk.com\\\/blog\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/robodk.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/robodk.com\\\/blog\\\/#organization\",\"name\":\"RoboDK\",\"url\":\"https:\\\/\\\/robodk.com\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/robodk.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/mlhiwltxy5pk.i.optimole.com\\\/w:1920\\\/h:613\\\/q:mauto\\\/f:best\\\/https:\\\/\\\/robodk.com\\\/blog\\\/wp-content\\\/uploads\\\/2017\\\/12\\\/RoboDK-PNG.png\",\"contentUrl\":\"https:\\\/\\\/mlhiwltxy5pk.i.optimole.com\\\/w:1920\\\/h:613\\\/q:mauto\\\/f:best\\\/https:\\\/\\\/robodk.com\\\/blog\\\/wp-content\\\/uploads\\\/2017\\\/12\\\/RoboDK-PNG.png\",\"width\":2128,\"height\":680,\"caption\":\"RoboDK\"},\"image\":{\"@id\":\"https:\\\/\\\/robodk.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/robodkinc\",\"https:\\\/\\\/x.com\\\/robodkinc\",\"https:\\\/\\\/www.instagram.com\\\/robodk\\\/\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/robodk\",\"https:\\\/\\\/www.youtube.com\\\/c\\\/RoboDK3D\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/robodk.com\\\/blog\\\/#\\\/schema\\\/person\\\/3ca2d3b921633adceba2740817765638\",\"name\":\"Alex Owen-Hill\",\"description\":\"Alex Owen-Hill is a freelance writer and public speaker who blogs about a large range of topics, including science, presentation skills at CreateClarifyArticulate.com, storytelling and (of course) robotics. He completed a PhD in Telerobotics from Universidad Politecnica de Madrid as part of the PURESAFE project, in collaboration with CERN. As a recovering academic, he maintains a firm foot in the robotics world by blogging about industrial robotics.\",\"sameAs\":[\"https:\\\/\\\/x.com\\\/AlexOwenHill\"],\"url\":\"https:\\\/\\\/robodk.com\\\/blog\\\/author\\\/alex-owen-hill\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Robot Post-Processors: Everything You Need to Know - RoboDK blog","description":"Don't know which post-processor to choose? Here are 5 steps for picking the perfect robot post-processor. A robot post processor defines how robot programs must be generated for a specific robot controller. Robot Post Processors allow flexibility to support any robot controller.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/robodk.com\/blog\/robot-post-processors\/","og_locale":"en_US","og_type":"article","og_title":"Robot Post-Processors: Everything You Need to Know - RoboDK blog","og_description":"Don't know which post-processor to choose? Here are 5 steps for picking the perfect robot post-processor. A robot post processor defines how robot programs must be generated for a specific robot controller. Robot Post Processors allow flexibility to support any robot controller.","og_url":"https:\/\/robodk.com\/blog\/robot-post-processors\/","og_site_name":"RoboDK blog","article_publisher":"https:\/\/www.facebook.com\/robodkinc","article_published_time":"2018-04-20T12:58:07+00:00","article_modified_time":"2024-11-05T09:11:39+00:00","og_image":[{"width":1464,"height":654,"url":"https:\/\/robodk.com\/blog\/wp-content\/uploads\/2018\/04\/Robot-Post-Processors-Fanuc.png","type":"image\/png"}],"author":"Alex Owen-Hill","twitter_card":"summary_large_image","twitter_creator":"@AlexOwenHill","twitter_site":"@robodkinc","twitter_misc":{"Written by":"Alex Owen-Hill","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/robodk.com\/blog\/robot-post-processors\/#article","isPartOf":{"@id":"https:\/\/robodk.com\/blog\/robot-post-processors\/"},"author":{"name":"Alex Owen-Hill","@id":"https:\/\/robodk.com\/blog\/#\/schema\/person\/3ca2d3b921633adceba2740817765638"},"headline":"Robot Post-Processors: Everything You Need to Know","datePublished":"2018-04-20T12:58:07+00:00","dateModified":"2024-11-05T09:11:39+00:00","mainEntityOfPage":{"@id":"https:\/\/robodk.com\/blog\/robot-post-processors\/"},"wordCount":1187,"commentCount":1,"publisher":{"@id":"https:\/\/robodk.com\/blog\/#organization"},"image":{"@id":"https:\/\/robodk.com\/blog\/robot-post-processors\/#primaryimage"},"thumbnailUrl":"https:\/\/robodk.com\/blog\/wp-content\/uploads\/2018\/04\/Robot-Post-Processors-Fanuc.png","articleSection":["offline programming","Robot Machining","Robot Manufacturing","robot programming"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/robodk.com\/blog\/robot-post-processors\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/robodk.com\/blog\/robot-post-processors\/","url":"https:\/\/robodk.com\/blog\/robot-post-processors\/","name":"Robot Post-Processors: Everything You Need to Know - RoboDK blog","isPartOf":{"@id":"https:\/\/robodk.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/robodk.com\/blog\/robot-post-processors\/#primaryimage"},"image":{"@id":"https:\/\/robodk.com\/blog\/robot-post-processors\/#primaryimage"},"thumbnailUrl":"https:\/\/robodk.com\/blog\/wp-content\/uploads\/2018\/04\/Robot-Post-Processors-Fanuc.png","datePublished":"2018-04-20T12:58:07+00:00","dateModified":"2024-11-05T09:11:39+00:00","description":"Don't know which post-processor to choose? Here are 5 steps for picking the perfect robot post-processor. A robot post processor defines how robot programs must be generated for a specific robot controller. Robot Post Processors allow flexibility to support any robot controller.","breadcrumb":{"@id":"https:\/\/robodk.com\/blog\/robot-post-processors\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/robodk.com\/blog\/robot-post-processors\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/robodk.com\/blog\/robot-post-processors\/#primaryimage","url":"https:\/\/robodk.com\/blog\/wp-content\/uploads\/2018\/04\/Robot-Post-Processors-Fanuc.png","contentUrl":"https:\/\/robodk.com\/blog\/wp-content\/uploads\/2018\/04\/Robot-Post-Processors-Fanuc.png","width":1464,"height":654,"caption":"Robot Post Processors"},{"@type":"BreadcrumbList","@id":"https:\/\/robodk.com\/blog\/robot-post-processors\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/robodk.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Robot Post-Processors: Everything You Need to Know"}]},{"@type":"WebSite","@id":"https:\/\/robodk.com\/blog\/#website","url":"https:\/\/robodk.com\/blog\/","name":"RoboDK blog","description":"News about RoboDK, Industrial Robots, Simulation and Robot Programming","publisher":{"@id":"https:\/\/robodk.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/robodk.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/robodk.com\/blog\/#organization","name":"RoboDK","url":"https:\/\/robodk.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/robodk.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/mlhiwltxy5pk.i.optimole.com\/w:1920\/h:613\/q:mauto\/f:best\/https:\/\/robodk.com\/blog\/wp-content\/uploads\/2017\/12\/RoboDK-PNG.png","contentUrl":"https:\/\/mlhiwltxy5pk.i.optimole.com\/w:1920\/h:613\/q:mauto\/f:best\/https:\/\/robodk.com\/blog\/wp-content\/uploads\/2017\/12\/RoboDK-PNG.png","width":2128,"height":680,"caption":"RoboDK"},"image":{"@id":"https:\/\/robodk.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/robodkinc","https:\/\/x.com\/robodkinc","https:\/\/www.instagram.com\/robodk\/","https:\/\/www.linkedin.com\/company\/robodk","https:\/\/www.youtube.com\/c\/RoboDK3D"]},{"@type":"Person","@id":"https:\/\/robodk.com\/blog\/#\/schema\/person\/3ca2d3b921633adceba2740817765638","name":"Alex Owen-Hill","description":"Alex Owen-Hill is a freelance writer and public speaker who blogs about a large range of topics, including science, presentation skills at CreateClarifyArticulate.com, storytelling and (of course) robotics. He completed a PhD in Telerobotics from Universidad Politecnica de Madrid as part of the PURESAFE project, in collaboration with CERN. As a recovering academic, he maintains a firm foot in the robotics world by blogging about industrial robotics.","sameAs":["https:\/\/x.com\/AlexOwenHill"],"url":"https:\/\/robodk.com\/blog\/author\/alex-owen-hill\/"}]}},"_links":{"self":[{"href":"https:\/\/robodk.com\/blog\/wp-json\/wp\/v2\/posts\/458","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/robodk.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/robodk.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/robodk.com\/blog\/wp-json\/wp\/v2\/users\/753"}],"replies":[{"embeddable":true,"href":"https:\/\/robodk.com\/blog\/wp-json\/wp\/v2\/comments?post=458"}],"version-history":[{"count":36,"href":"https:\/\/robodk.com\/blog\/wp-json\/wp\/v2\/posts\/458\/revisions"}],"predecessor-version":[{"id":7845,"href":"https:\/\/robodk.com\/blog\/wp-json\/wp\/v2\/posts\/458\/revisions\/7845"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/robodk.com\/blog\/wp-json\/wp\/v2\/media\/500"}],"wp:attachment":[{"href":"https:\/\/robodk.com\/blog\/wp-json\/wp\/v2\/media?parent=458"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/robodk.com\/blog\/wp-json\/wp\/v2\/categories?post=458"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/robodk.com\/blog\/wp-json\/wp\/v2\/tags?post=458"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}