{"id":1819,"date":"2019-06-19T07:53:43","date_gmt":"2019-06-19T11:53:43","guid":{"rendered":"https:\/\/robodk.com\/blog\/?p=1819"},"modified":"2019-06-19T07:53:45","modified_gmt":"2019-06-19T11:53:45","slug":"difference-simulation-offline-programming","status":"publish","type":"post","link":"https:\/\/robodk.com\/blog\/difference-simulation-offline-programming\/","title":{"rendered":"What&#8217;s the Difference Between Offline Programming and Simulation?"},"content":{"rendered":"\n<p><b>Offline Programming (OLP) and simulation are closely related, but they&#8217;re not the same. Confused? Here is the simple explanation of this fundamental question.<\/b><\/p>\n\n\n\n<!--more-->\n\n\n\n<p>What is robotic offline programming?<\/p>\n\n\n\n<p>What is robotic simulation?<\/p>\n\n\n\n<p>Are they the same thing?<\/p>\n\n\n\n<p>These terms are often used together in a way that suggests that they have equal meaning (e.g. &#8220;OLP\/Simulation&#8221;) but they are not exactly the same.<\/p>\n\n\n\n<p>You could easily get confused and exasperated if you tried to use a robot simulator for offline programming. What&#8217;s worse, it could lead to you wasting many hours trying to get the wrong software to perform a task it wasn&#8217;t designed to do.<\/p>\n\n\n\n<p>It&#8217;s time to set things straight.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Offline Programming vs Simulation: Are They The Same Thing?<\/h2>\n\n\n\n<p>The basic answer is: No, offline programming and simulation are not the same things.<\/p>\n\n\n\n<p>But, in robotics, they are very closely related\u2026 in most cases.<\/p>\n\n\n\n<p>Here&#8217;s a Venn diagram to show how the two terms are related:<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"278\" src=\"https:\/\/robodk.com\/blog\/wp-content\/uploads\/2019\/06\/Offline_Programming_vs_Simulation-300x278.png\" alt=\"Offline_Programming_vs_Simulation\" class=\"wp-image-2092\" srcset=\"https:\/\/robodk.com\/blog\/wp-content\/uploads\/2019\/06\/Offline_Programming_vs_Simulation-300x278.png 300w, https:\/\/robodk.com\/blog\/wp-content\/uploads\/2019\/06\/Offline_Programming_vs_Simulation.png 421w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/figure><\/div>\n\n\n\n<p>As you can see, offline programming always involves simulation \u2014 with a small exception which I&#8217;ll explain in a moment. However, there are a vast number of simulators which have nothing to do with offline programming (or with robotics, for that matter).<\/p>\n\n\n\n<p>A good rule of thumb is to say:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p>(Almost) All Offline Programming is Simulation <\/p><p>BUT <\/p><p>Not All Simulation is Offline Programming.<\/p><\/blockquote>\n\n\n\n<h2 class=\"wp-block-heading\">What is Robot Simulation?<\/h2>\n\n\n\n<p><a name=\"https:\/\/dictionary.cambridge.org\/dictionary\/english\/simulator\" class=\"mce-item-anchor\" target=\"_blank\" rel=\"noopener noreferrer\"><\/a><a rel=\"noopener noreferrer\" href=\"https:\/\/dictionary.cambridge.org\/dictionary\/english\/simulator\" target=\"_blank\">A simulator<\/a> is a piece of mechanical equipment or a software program which is designed to represent the conditions in a physical environment. Said another way, <a name=\"https:\/\/en.wikipedia.org\/wiki\/Simulation\" class=\"mce-item-anchor\" target=\"_blank\" rel=\"noopener noreferrer\"><\/a><a rel=\"noopener noreferrer\" href=\"https:\/\/en.wikipedia.org\/wiki\/Simulation\" target=\"_blank\">simulation<\/a> involves imitating the real world.<\/p>\n\n\n\n<p>The classic example of a simulator (from outside of robotics) is a flight simulator for training pilots. This machine includes both hardware and software elements to look and behave realistically like a real airplane.<\/p>\n\n\n\n<p>In robotics, simulation is used for various purposes, including:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>To test the functionality of robot programs in a safe environment where the robot cannot harm itself or the environment.<\/li><li>To test hundreds of different program permutations in a short amount of time to optimize the program.<\/li><li>To run the program when no physical robot exists or one is not available.<\/li><li>To create a proof of concept before you purchase a physical robot.<\/li><\/ul>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"880\" height=\"495\" src=\"https:\/\/robodk.com\/blog\/wp-content\/uploads\/2019\/06\/Real_vs_Simulated.jpg\" alt=\"\" class=\"wp-image-2023\" srcset=\"https:\/\/robodk.com\/blog\/wp-content\/uploads\/2019\/06\/Real_vs_Simulated.jpg 880w, https:\/\/robodk.com\/blog\/wp-content\/uploads\/2019\/06\/Real_vs_Simulated-300x169.jpg 300w, https:\/\/robodk.com\/blog\/wp-content\/uploads\/2019\/06\/Real_vs_Simulated-768x432.jpg 768w\" sizes=\"auto, (max-width: 880px) 100vw, 880px\" \/><\/figure>\n\n\n\n<p>Many robot simulators involve a graphical representation of the robot (as is the case in RoboDK). This is useful because it allows you to see what the simulation algorithms are actually doing underneath. Some of these simulators only have basic graphics (e.g. lines to represent the robot&#8217;s links), whilst others allow you to model the entire workspace and use a realistic model of the robot.<\/p>\n\n\n\n<p>However, although graphics are very common it is possible to have a simulation with no graphics at all. Some simulators only contain algorithms and a basic command-line interface. As long as the underlying algorithms are the same, these can be as &#8220;realistic&#8221; as those simulators which include graphics. For example, RoboDK can be used via <a name=\"https:\/\/robodk.com\/doc\/en\/RoboDK-API.html#CommandLine\" class=\"mce-item-anchor\" target=\"_blank\" rel=\"noopener noreferrer\"><\/a><a rel=\"noopener noreferrer\" href=\"https:\/\/robodk.com\/doc\/en\/RoboDK-API.html#CommandLine\" target=\"_blank\">the command line and API<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">What is Offline Programming (OLP)?<\/h2>\n\n\n\n<p>Offline programming refers to the practice of programming a machine (usually a robot or a CNC machine) without having the physical machine present. In other words, you first create the program on a computer and then later download it to the physical machine later.<\/p>\n\n\n\n<p>In robotics, offline programming is used for a range of reasons, including:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>To save you time compared to conventional (online) robot programming. There are <a target=\"_blank\" name=\"https:\/\/robodk.com\/blog\/offline-programming-time-savings\/\" rel=\"noopener noreferrer\"><\/a><a href=\"https:\/\/robodk.com\/blog\/offline-programming-time-savings\/\" target=\"_blank\" rel=\"noopener noreferrer\">many ways that OLP saves time<\/a> and helps you to improve your process&#8217;s productivity.<\/li><li>To access more advanced robot functionality by using specially designed software wizards and libraries. OLP is suited to <a target=\"_blank\" name=\"https:\/\/robodk.com\/blog\/tasks-offline-programming\/\" rel=\"noopener noreferrer\"><\/a><a href=\"https:\/\/robodk.com\/blog\/tasks-offline-programming\/\" target=\"_blank\" rel=\"noopener noreferrer\">a variety of different tasks<\/a>, which it can often achieve more effectively than with conventional programming.<\/li><li>To create a proof of concept before purchasing a robot, but in a way that allows you to use the same program when you do choose your robot.<\/li><li>To streamline your software workflow.<\/li><\/ul>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" src=\"https:\/\/robodk.com\/blog\/wp-content\/uploads\/2019\/06\/OLP_Painting-1024x576.jpg\" alt=\"\" class=\"wp-image-2028\" srcset=\"https:\/\/robodk.com\/blog\/wp-content\/uploads\/2019\/06\/OLP_Painting-1024x576.jpg 1024w, https:\/\/robodk.com\/blog\/wp-content\/uploads\/2019\/06\/OLP_Painting-300x169.jpg 300w, https:\/\/robodk.com\/blog\/wp-content\/uploads\/2019\/06\/OLP_Painting-768x432.jpg 768w, https:\/\/robodk.com\/blog\/wp-content\/uploads\/2019\/06\/OLP_Painting.jpg 1026w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Most offline programming packages include a simulator for your chosen robot. First, you program the robot in the virtual environment. Then, when you have debugged your program and it is running smoothly, you transfer it to the physical robot. The offline programming software achieves this using a <a href=\"https:\/\/robodk.com\/blog\/robot-post-processors\/\" target=\"_blank\" rel=\"noreferrer noopener\" aria-label=\"&quot;post processor&quot; (opens in a new tab)\">&#8220;post processor&#8221;<\/a> which turns the simulated program into code that the physical robot will understand.<\/p>\n\n\n\n<p>This method allows you to iron out any problems in the programming quickly and easily using the simulator, without affecting the uptime of the physical robot.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">When OLP Doesn&#8217;t Include Simulation<\/h3>\n\n\n\n<p>There is one situation where you would program a robot offline without using a simulator. This would be if you just programmed the robot in its native programming language using a text editor in your computer and then downloaded it directly to the physical robot once the entire program had been written.<\/p>\n\n\n\n<p>Although this situation could technically be called &#8220;offline programming&#8221; \u2014 after all, you are still doing all the programming offline \u2014 it is not what we are usually referring to when we talk about OLP. Usually, we mean programming a simulated robot.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" src=\"https:\/\/robodk.com\/blog\/wp-content\/uploads\/2019\/06\/Coding_by_hand-1024x576.jpg\" alt=\"\" class=\"wp-image-2024\" srcset=\"https:\/\/robodk.com\/blog\/wp-content\/uploads\/2019\/06\/Coding_by_hand-1024x576.jpg 1024w, https:\/\/robodk.com\/blog\/wp-content\/uploads\/2019\/06\/Coding_by_hand-300x169.jpg 300w, https:\/\/robodk.com\/blog\/wp-content\/uploads\/2019\/06\/Coding_by_hand-768x432.jpg 768w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Also, it is a terrible idea. If you have done any programming before, you&#8217;ll know that creating an entire program before doing any testing is a recipe for disaster. It&#8217;s much more effective to build up your program step-by-step and use a good simulator to see the effect of your instructions on a virtual robot.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">How OLP and Simulation Work Together<\/h2>\n\n\n\n<p>As you can see, offline programming and robot simulation are very closely related. In all practical situations, offline programming software also includes a simulator.<\/p>\n\n\n\n<p>This is certainly the case with RoboDK. Most of our users use it for OLP but some use it as a pure simulator, depending on their needs.<\/p>\n\n\n\n<p>The major difference between the OLP and simulation is that final extra step. OLP always needs to convert the simulation into a program that can actually be used to control the physical robot.<\/p>\n\n\n\n<p>Many robot simulators do not contain that extra step. They can realistically simulate the robot and environment, but they cannot convert the simulation into usable robot code.<\/p>\n\n\n\n<p>A good OLP software, on the other hand, will make the transition from simulation to real robot as seamless as possible.<\/p>\n\n\n\n<p><em>What other terms confuse you in robotics? <strong>Tell us in the comments below or join the discussion on <\/strong><\/em><a rel=\"noopener noreferrer\" href=\"https:\/\/www.linkedin.com\/company\/robodk\/\" target=\"_blank\"><em><strong>LinkedIn<\/strong><\/em><\/a><em><strong>, <\/strong><\/em><a rel=\"noopener noreferrer\" href=\"https:\/\/twitter.com\/robodkinc\" target=\"_blank\"><em><strong>Twitter<\/strong><\/em><\/a><em><strong>, <\/strong><\/em><a rel=\"noopener noreferrer\" href=\"https:\/\/www.facebook.com\/robodkinc\" target=\"_blank\"><em><strong>Facebook,<\/strong><\/em><\/a><em><strong> <\/strong><\/em><a rel=\"noopener noreferrer\" href=\"https:\/\/www.instagram.com\/robodkinc\/\" target=\"_blank\"><em><strong>Instagram<\/strong><\/em><\/a><em><strong> or in <\/strong><\/em><a rel=\"noopener noreferrer\" href=\"https:\/\/robodk.com\/forum\/\" target=\"_blank\"><em><strong>the RoboDK Forum<\/strong><\/em><\/a><em><strong>.<\/strong><\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Offline Programming (OLP) and simulation are closely related, but they&#8217;re not the same. Confused? Here is the simple explanation of [&hellip;]<\/p>\n","protected":false},"author":753,"featured_media":2001,"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,22,1],"tags":[],"class_list":["post-1819","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-offline-programming","category-robot-programming","category-uncategorized"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.1.1 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>What&#039;s the Difference Between Offline Programming and Simulation? - RoboDK blog<\/title>\n<meta name=\"description\" content=\"Offline Programming (OLP) and simulation are closely related, but they&#039;re not the same. Confused? Here is the simple explanation of this fundamental question.\" \/>\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\/difference-simulation-offline-programming\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"What&#039;s the Difference Between Offline Programming and Simulation? - RoboDK blog\" \/>\n<meta property=\"og:description\" content=\"Offline Programming (OLP) and simulation are closely related, but they&#039;re not the same. Confused? Here is the simple explanation of this fundamental question.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/robodk.com\/blog\/difference-simulation-offline-programming\/\" \/>\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=\"2019-06-19T11:53:43+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2019-06-19T11:53:45+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/robodk.com\/blog\/wp-content\/uploads\/2019\/05\/OLP_vs_Simulation.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"2624\" \/>\n\t<meta property=\"og:image:height\" content=\"1143\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\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=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/robodk.com\/blog\/difference-simulation-offline-programming\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/robodk.com\/blog\/difference-simulation-offline-programming\/\"},\"author\":{\"name\":\"Alex Owen-Hill\",\"@id\":\"https:\/\/robodk.com\/blog\/#\/schema\/person\/3ca2d3b921633adceba2740817765638\"},\"headline\":\"What&#8217;s the Difference Between Offline Programming and Simulation?\",\"datePublished\":\"2019-06-19T11:53:43+00:00\",\"dateModified\":\"2019-06-19T11:53:45+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/robodk.com\/blog\/difference-simulation-offline-programming\/\"},\"wordCount\":1068,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/robodk.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/robodk.com\/blog\/difference-simulation-offline-programming\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/robodk.com\/blog\/wp-content\/uploads\/2019\/05\/OLP_vs_Simulation.jpg\",\"articleSection\":[\"offline programming\",\"robot programming\",\"Uncategorised\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/robodk.com\/blog\/difference-simulation-offline-programming\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/robodk.com\/blog\/difference-simulation-offline-programming\/\",\"url\":\"https:\/\/robodk.com\/blog\/difference-simulation-offline-programming\/\",\"name\":\"What's the Difference Between Offline Programming and Simulation? - RoboDK blog\",\"isPartOf\":{\"@id\":\"https:\/\/robodk.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/robodk.com\/blog\/difference-simulation-offline-programming\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/robodk.com\/blog\/difference-simulation-offline-programming\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/robodk.com\/blog\/wp-content\/uploads\/2019\/05\/OLP_vs_Simulation.jpg\",\"datePublished\":\"2019-06-19T11:53:43+00:00\",\"dateModified\":\"2019-06-19T11:53:45+00:00\",\"description\":\"Offline Programming (OLP) and simulation are closely related, but they're not the same. Confused? Here is the simple explanation of this fundamental question.\",\"breadcrumb\":{\"@id\":\"https:\/\/robodk.com\/blog\/difference-simulation-offline-programming\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/robodk.com\/blog\/difference-simulation-offline-programming\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/robodk.com\/blog\/difference-simulation-offline-programming\/#primaryimage\",\"url\":\"https:\/\/robodk.com\/blog\/wp-content\/uploads\/2019\/05\/OLP_vs_Simulation.jpg\",\"contentUrl\":\"https:\/\/robodk.com\/blog\/wp-content\/uploads\/2019\/05\/OLP_vs_Simulation.jpg\",\"width\":2624,\"height\":1143,\"caption\":\"The difference between OLP and Simulation\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/robodk.com\/blog\/difference-simulation-offline-programming\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/robodk.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"What&#8217;s the Difference Between Offline Programming and Simulation?\"}]},{\"@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":"What's the Difference Between Offline Programming and Simulation? - RoboDK blog","description":"Offline Programming (OLP) and simulation are closely related, but they're not the same. Confused? Here is the simple explanation of this fundamental question.","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\/difference-simulation-offline-programming\/","og_locale":"en_US","og_type":"article","og_title":"What's the Difference Between Offline Programming and Simulation? - RoboDK blog","og_description":"Offline Programming (OLP) and simulation are closely related, but they're not the same. Confused? Here is the simple explanation of this fundamental question.","og_url":"https:\/\/robodk.com\/blog\/difference-simulation-offline-programming\/","og_site_name":"RoboDK blog","article_publisher":"https:\/\/www.facebook.com\/robodkinc","article_published_time":"2019-06-19T11:53:43+00:00","article_modified_time":"2019-06-19T11:53:45+00:00","og_image":[{"width":2624,"height":1143,"url":"https:\/\/robodk.com\/blog\/wp-content\/uploads\/2019\/05\/OLP_vs_Simulation.jpg","type":"image\/jpeg"}],"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":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/robodk.com\/blog\/difference-simulation-offline-programming\/#article","isPartOf":{"@id":"https:\/\/robodk.com\/blog\/difference-simulation-offline-programming\/"},"author":{"name":"Alex Owen-Hill","@id":"https:\/\/robodk.com\/blog\/#\/schema\/person\/3ca2d3b921633adceba2740817765638"},"headline":"What&#8217;s the Difference Between Offline Programming and Simulation?","datePublished":"2019-06-19T11:53:43+00:00","dateModified":"2019-06-19T11:53:45+00:00","mainEntityOfPage":{"@id":"https:\/\/robodk.com\/blog\/difference-simulation-offline-programming\/"},"wordCount":1068,"commentCount":0,"publisher":{"@id":"https:\/\/robodk.com\/blog\/#organization"},"image":{"@id":"https:\/\/robodk.com\/blog\/difference-simulation-offline-programming\/#primaryimage"},"thumbnailUrl":"https:\/\/robodk.com\/blog\/wp-content\/uploads\/2019\/05\/OLP_vs_Simulation.jpg","articleSection":["offline programming","robot programming","Uncategorised"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/robodk.com\/blog\/difference-simulation-offline-programming\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/robodk.com\/blog\/difference-simulation-offline-programming\/","url":"https:\/\/robodk.com\/blog\/difference-simulation-offline-programming\/","name":"What's the Difference Between Offline Programming and Simulation? - RoboDK blog","isPartOf":{"@id":"https:\/\/robodk.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/robodk.com\/blog\/difference-simulation-offline-programming\/#primaryimage"},"image":{"@id":"https:\/\/robodk.com\/blog\/difference-simulation-offline-programming\/#primaryimage"},"thumbnailUrl":"https:\/\/robodk.com\/blog\/wp-content\/uploads\/2019\/05\/OLP_vs_Simulation.jpg","datePublished":"2019-06-19T11:53:43+00:00","dateModified":"2019-06-19T11:53:45+00:00","description":"Offline Programming (OLP) and simulation are closely related, but they're not the same. Confused? Here is the simple explanation of this fundamental question.","breadcrumb":{"@id":"https:\/\/robodk.com\/blog\/difference-simulation-offline-programming\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/robodk.com\/blog\/difference-simulation-offline-programming\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/robodk.com\/blog\/difference-simulation-offline-programming\/#primaryimage","url":"https:\/\/robodk.com\/blog\/wp-content\/uploads\/2019\/05\/OLP_vs_Simulation.jpg","contentUrl":"https:\/\/robodk.com\/blog\/wp-content\/uploads\/2019\/05\/OLP_vs_Simulation.jpg","width":2624,"height":1143,"caption":"The difference between OLP and Simulation"},{"@type":"BreadcrumbList","@id":"https:\/\/robodk.com\/blog\/difference-simulation-offline-programming\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/robodk.com\/blog\/"},{"@type":"ListItem","position":2,"name":"What&#8217;s the Difference Between Offline Programming and Simulation?"}]},{"@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\/1819","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=1819"}],"version-history":[{"count":10,"href":"https:\/\/robodk.com\/blog\/wp-json\/wp\/v2\/posts\/1819\/revisions"}],"predecessor-version":[{"id":2095,"href":"https:\/\/robodk.com\/blog\/wp-json\/wp\/v2\/posts\/1819\/revisions\/2095"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/robodk.com\/blog\/wp-json\/wp\/v2\/media\/2001"}],"wp:attachment":[{"href":"https:\/\/robodk.com\/blog\/wp-json\/wp\/v2\/media?parent=1819"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/robodk.com\/blog\/wp-json\/wp\/v2\/categories?post=1819"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/robodk.com\/blog\/wp-json\/wp\/v2\/tags?post=1819"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}