{"id":3029,"date":"2020-08-04T11:30:04","date_gmt":"2020-08-04T15:30:04","guid":{"rendered":"https:\/\/robodk.com\/blog\/?p=3029"},"modified":"2021-01-28T17:24:00","modified_gmt":"2021-01-28T22:24:00","slug":"program-robotic-positioner","status":"publish","type":"post","link":"https:\/\/robodk.com\/blog\/program-robotic-positioner\/","title":{"rendered":"How to Program a Robotic Positioner the Right Way"},"content":{"rendered":"\n<p><strong>You need to extend your robot&#8217;s capabilities with a robotic positioner. Now\u2026 what&#8217;s the best way to program it? There is a hard way and then there&#8217;s the easy way.<\/strong><\/p>\n\n\n\n<!--more-->\n\n\n\n<p>You&#8217;re probably keen to get your new positioner up and running as soon as possible. After all, every minute that your new robot cell is not running means time and money wasted. Ever since you first decided to go with robotic automation, the clock has been ticking.<\/p>\n\n\n\n<p>Positioners are a great way to increase the flexibility of a robot. They effectively increase the robot&#8217;s workspace, allowing you to reach the workpiece from multiple different angles. Some positioners give you the ability to quickly switch out one workpiece with another, reducing your turnaround time and improving productivity.<\/p>\n\n\n\n<figure class=\"wp-block-video\"><video autoplay=\"true\" controls=\"\" loop=\"\" muted=\"muted\" src=\"https:\/\/robodk.com\/blog\/wp-content\/uploads\/2019\/09\/Robot-Machining-Sculpture.mp4\"><\/video><\/figure>\n<script src=\"\/videoplay.js\"><\/script>\n\n\n\n<p>The only problem with adding a positioner is that it increases the complexity of programming.<\/p>\n\n\n\n<p>Industrial robots can be tricky enough to program as it is, but adding 1, 2, or maybe several extra programmable axes can make the programming task a real headache\u2026 unless you approach it in the right way.<\/p>\n\n\n\n<p>If you&#8217;re already experienced with programming robots, you certainly have the skills to program a positioner from scratch but it will take you extra time. However, if you&#8217;re just getting started with robot programming, the extra difficulty might just be enough to dissuade you from using robotics at all.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">You Can Probably Program the Positioner From Scratch\u2026 But Should You?<\/h2>\n\n\n\n<p>If you are an adept programmer, you might just look at the positioner&#8217;s datasheet and think\u2026<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p><em>&#8220;Challenge accepted!&#8221;<\/em><\/p><\/blockquote>\n\n\n\n<p>You might be keen to test your programming mettle to see if you can integrate it properly using just the control inputs of the positioner, kinematic math, and the robot&#8217;s own programming language.<\/p>\n\n\n\n<p>So, you look on <a name=\"https:\/\/robodk.com\/forum\/\" target=\"_blank\" rel=\"noopener noreferrer\"><\/a><a rel=\"noopener noreferrer\" href=\"https:\/\/robodk.com\/forum\/\" target=\"_blank\">robotics forums<\/a>. You ask questions like <em>&#8220;How do I program this complex positioner movement for a robotic machining application.&#8221;<\/em> You read <a name=\"https:\/\/www.researchgate.net\/publication\/223506535_Kinematic_aspects_of_a_robot-positioner_system_in_an_arc_welding_application\" target=\"_blank\" rel=\"noopener noreferrer\"><\/a><a rel=\"noopener noreferrer\" href=\"https:\/\/www.researchgate.net\/publication\/223506535_Kinematic_aspects_of_a_robot-positioner_system_in_an_arc_welding_application\" target=\"_blank\">academic publications on the subject<\/a> and try to decipher their math. You spend hours or days deriving your own kinematic equations to incorporate the movements of robot and positioner.<\/p>\n\n\n\n<p>I can certainly relate to this feeling. It&#8217;s the mark of a good engineer. We think <em>&#8220;I can to do this&#8221; <\/em>so we go ahead and try to build it ourselves. But, we rarely ask ourselves if we <em>should <\/em>do it. I once redesigned and built a brand new controller for a robot just because the one it had already wasn&#8217;t to my liking\u2026 but it took me months!<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"alignright size-medium\"><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"169\" src=\"https:\/\/robodk.com\/blog\/wp-content\/uploads\/2020\/06\/Positioner_Programming_Time-300x169.jpg\" alt=\"\" class=\"wp-image-3104\" srcset=\"https:\/\/robodk.com\/blog\/wp-content\/uploads\/2020\/06\/Positioner_Programming_Time-300x169.jpg 300w, https:\/\/robodk.com\/blog\/wp-content\/uploads\/2020\/06\/Positioner_Programming_Time-1024x575.jpg 1024w, https:\/\/robodk.com\/blog\/wp-content\/uploads\/2020\/06\/Positioner_Programming_Time-768x432.jpg 768w, https:\/\/robodk.com\/blog\/wp-content\/uploads\/2020\/06\/Positioner_Programming_Time-1536x863.jpg 1536w, https:\/\/robodk.com\/blog\/wp-content\/uploads\/2020\/06\/Positioner_Programming_Time-2048x1151.jpg 2048w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/figure><\/div>\n\n\n\n<p>The question is not whether you have the ability to hard-code the positioner from scratch.<\/p>\n\n\n\n<p>The question is whether or not that is the best use of your time.<\/p>\n\n\n\n<p>There is an easier way to program a positioner. One which requires no coding at all.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Positioner Programming That&#8217;s Simpler Than Simple<\/h2>\n\n\n\n<p>One of the great things about programming a single industrial robot is that the kinematics have been solved many times. It&#8217;s easy to find programming methods that don&#8217;t require you to draw kinematic linkages and derive inverse kinematic equations.<\/p>\n\n\n\n<p>When you add a positioner to the system, suddenly you make your simple 6-axis mechanism into a mechanism with 7, 8, 9, or more axes.<\/p>\n\n\n\n<p>Some people choose to deal with this by programming the two mechanisms separately \u2014 e.g. first moving the positioner to roughly where they need it to be and then programming the precise movements with the industrial robot. However, this is not the best way to use a positioner.<\/p>\n\n\n\n<p>You&#8217;ll usually get the most from your positioner when you incorporate it as part of the whole mechanism. The easiest way to do this is by using a good offline programming tool.<\/p>\n\n\n\n<p>The right software will automatically synchronize your robot with the other external axes in the system. If the <a target=\"_blank\" name=\"https:\/\/robodk.com\/blog\/auxiliary-axes-offline-programming\/\" rel=\"noopener noreferrer\"><\/a><a href=\"https:\/\/robodk.com\/blog\/auxiliary-axes-offline-programming\/\" target=\"_blank\" rel=\"noopener noreferrer\">robot is mounted on a linear track<\/a>, for example, the offline programming software will add this as an extra axis. If the workpiece is mounted on a turntable, the software will automatically incorporate the turntable into the program as well.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">How to Program the Robot Positioner In a Unified Way<\/h2>\n\n\n\n<p>The key to combining a robot and positioner with offline programming is to synchronize their axes and optimize those axes for your particular task.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Synchronizing Your Robot and Positioner<\/h3>\n\n\n\n<p>In <a rel=\"noreferrer noopener\" href=\"https:\/\/robodk.com\/\" target=\"_blank\">RoboDK<\/a>, this can be achieved very easily by using the integrated &#8220;<a href=\"https:\/\/robodk.com\/doc\/en\/General.html#SyncAxes\">Synchronize External Axes<\/a>&#8221; tool. You can synchronize up to 6 additional axes, allowing for a system with up to 12 axes if you are using a 6-axis industrial robot.<\/p>\n\n\n\n<p>The tool will then view the combined system as if it were a single mechanism. It will automatically program the positioner and other external axes alongside the robot when using the wizards for robot machining, 3D printing, curve following, and point following projects. These wizards cover many of the use cases of combined robot and positioner projects.<\/p>\n\n\n\n<p>Unlike when you are programming a positioner manually, it doesn&#8217;t matter where you have placed your robot and positioner. The software will automatically adjust its programming to suit your setup.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Optimizing the Automatic Programming<\/h3>\n\n\n\n<p>You can also perform additional optimization of the positioner by using the &#8220;<a href=\"https:\/\/robodk.com\/doc\/en\/General.html#AxesOptimization\">Smart Optimization<\/a>&#8221; option.<\/p>\n\n\n\n<p>Optimization allows you to set parameters and restrictions on your program.<\/p>\n\n\n\n<p>Options include:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Prioritizing the positioner motion over the robot motion.<\/li><li>Prioritizing the robot motion over the positioner motion.<\/li><li>Imposing desired positions for some or all joints (e.g. when you want to maintain a particular angle of the wrist joint).<\/li><li>Minimizing motions of some joints (e.g. to ensure that the positioner always moves gradually and doesn&#8217;t produce sudden or unexpected movements).<\/li><\/ul>\n\n\n\n<p>You can find out more about the tools in RoboDK <a target=\"_blank\" name=\"https:\/\/robodk.com\/doc\/en\/General.html#SyncAxes\" rel=\"noopener noreferrer\"><\/a><a href=\"https:\/\/robodk.com\/doc\/en\/General.html#SyncAxes\" target=\"_blank\" rel=\"noopener noreferrer\">on the documentation page<\/a>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" src=\"https:\/\/robodk.com\/blog\/wp-content\/uploads\/2020\/06\/Smart_Optimization_RoboDK-1024x576.jpg\" alt=\"\" class=\"wp-image-3101\" srcset=\"https:\/\/robodk.com\/blog\/wp-content\/uploads\/2020\/06\/Smart_Optimization_RoboDK-1024x576.jpg 1024w, https:\/\/robodk.com\/blog\/wp-content\/uploads\/2020\/06\/Smart_Optimization_RoboDK-300x169.jpg 300w, https:\/\/robodk.com\/blog\/wp-content\/uploads\/2020\/06\/Smart_Optimization_RoboDK-768x432.jpg 768w, https:\/\/robodk.com\/blog\/wp-content\/uploads\/2020\/06\/Smart_Optimization_RoboDK.jpg 1418w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Getting Started With Robot Positioner Programming<\/h2>\n\n\n\n<p>Whatever level of programming skill you already have, there is no reason that programming a positioner needs to be a difficult task.<\/p>\n\n\n\n<p>With the right software tools, programming your system can be just as easy as programming the industrial robot alone.<\/p>\n\n\n\n<p>To try out RoboDK&#8217;s tool yourself, <a name=\"https:\/\/robodk.com\/download\" target=\"_blank\" rel=\"noopener noreferrer\"><\/a><a rel=\"noopener noreferrer\" href=\"https:\/\/robodk.com\/download\" target=\"_blank\">download a copy for a free trial<\/a>. You might find it useful to look at the example <em>&#8220;Robot machining with a rail and turntable&#8221;<\/em> that comes with RoboDK to see what&#8217;s possible.<\/p>\n\n\n\n<p><em>What challenges have you encountered when using positioners?<strong> Tell us in the comments below or join the discussion on <a rel=\"noopener noreferrer\" href=\"https:\/\/www.linkedin.com\/company\/robodk\/\" target=\"_blank\">LinkedIn<\/a>, <a rel=\"noopener noreferrer\" href=\"https:\/\/twitter.com\/robodkinc\" target=\"_blank\">Twitter<\/a>, <a rel=\"noopener noreferrer\" href=\"https:\/\/www.facebook.com\/robodkinc\" target=\"_blank\">Facebook,<\/a> <a rel=\"noopener noreferrer\" href=\"https:\/\/www.instagram.com\/robodk\/\" target=\"_blank\">Instagram,<\/a> or in <a rel=\"noopener noreferrer\" href=\"https:\/\/robodk.com\/forum\/\" target=\"_blank\">the RoboDK Forum<\/a>.<\/strong><\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>You need to extend your robot&#8217;s capabilities with a robotic positioner. Now\u2026 what&#8217;s the best way to program it? There [&hellip;]<\/p>\n","protected":false},"author":753,"featured_media":3100,"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":[623,21,22,1084],"tags":[],"class_list":["post-3029","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-external-axes","category-offline-programming","category-robot-programming","category-robot-simulation"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.1.1 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>How to Program a Robotic Positioner the Right Way - RoboDK blog<\/title>\n<meta name=\"description\" content=\"You need to you extend your robot&#039;s capabilities with a robotic positioner. Now\u2026 what&#039;s the best way to program it? There are is a hard way and an easy way.\" \/>\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\/program-robotic-positioner\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to Program a Robotic Positioner the Right Way - RoboDK blog\" \/>\n<meta property=\"og:description\" content=\"You need to you extend your robot&#039;s capabilities with a robotic positioner. Now\u2026 what&#039;s the best way to program it? There are is a hard way and an easy way.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/robodk.com\/blog\/program-robotic-positioner\/\" \/>\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=\"2020-08-04T15:30:04+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-01-28T22:24:00+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/robodk.com\/blog\/wp-content\/uploads\/2020\/06\/Program_Robot_Positioner-scaled.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"2560\" \/>\n\t<meta property=\"og:image:height\" content=\"1439\" \/>\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\/program-robotic-positioner\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/robodk.com\/blog\/program-robotic-positioner\/\"},\"author\":{\"name\":\"Alex Owen-Hill\",\"@id\":\"https:\/\/robodk.com\/blog\/#\/schema\/person\/3ca2d3b921633adceba2740817765638\"},\"headline\":\"How to Program a Robotic Positioner the Right Way\",\"datePublished\":\"2020-08-04T15:30:04+00:00\",\"dateModified\":\"2021-01-28T22:24:00+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/robodk.com\/blog\/program-robotic-positioner\/\"},\"wordCount\":1072,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/robodk.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/robodk.com\/blog\/program-robotic-positioner\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/robodk.com\/blog\/wp-content\/uploads\/2020\/06\/Program_Robot_Positioner-scaled.jpg\",\"articleSection\":[\"External Axes\",\"offline programming\",\"robot programming\",\"Robot Simulation\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/robodk.com\/blog\/program-robotic-positioner\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/robodk.com\/blog\/program-robotic-positioner\/\",\"url\":\"https:\/\/robodk.com\/blog\/program-robotic-positioner\/\",\"name\":\"How to Program a Robotic Positioner the Right Way - RoboDK blog\",\"isPartOf\":{\"@id\":\"https:\/\/robodk.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/robodk.com\/blog\/program-robotic-positioner\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/robodk.com\/blog\/program-robotic-positioner\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/robodk.com\/blog\/wp-content\/uploads\/2020\/06\/Program_Robot_Positioner-scaled.jpg\",\"datePublished\":\"2020-08-04T15:30:04+00:00\",\"dateModified\":\"2021-01-28T22:24:00+00:00\",\"description\":\"You need to you extend your robot's capabilities with a robotic positioner. Now\u2026 what's the best way to program it? There are is a hard way and an easy way.\",\"breadcrumb\":{\"@id\":\"https:\/\/robodk.com\/blog\/program-robotic-positioner\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/robodk.com\/blog\/program-robotic-positioner\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/robodk.com\/blog\/program-robotic-positioner\/#primaryimage\",\"url\":\"https:\/\/robodk.com\/blog\/wp-content\/uploads\/2020\/06\/Program_Robot_Positioner-scaled.jpg\",\"contentUrl\":\"https:\/\/robodk.com\/blog\/wp-content\/uploads\/2020\/06\/Program_Robot_Positioner-scaled.jpg\",\"width\":2560,\"height\":1439,\"caption\":\"Engineer touching laptop to check and control welding robotics automatic arms machine in intelligent factory automotive industrial with monitoring system software. Digital manufacturing operation. Industry 4.0\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/robodk.com\/blog\/program-robotic-positioner\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/robodk.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How to Program a Robotic Positioner the Right Way\"}]},{\"@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":"How to Program a Robotic Positioner the Right Way - RoboDK blog","description":"You need to you extend your robot's capabilities with a robotic positioner. Now\u2026 what's the best way to program it? There are is a hard way and an easy way.","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\/program-robotic-positioner\/","og_locale":"en_US","og_type":"article","og_title":"How to Program a Robotic Positioner the Right Way - RoboDK blog","og_description":"You need to you extend your robot's capabilities with a robotic positioner. Now\u2026 what's the best way to program it? There are is a hard way and an easy way.","og_url":"https:\/\/robodk.com\/blog\/program-robotic-positioner\/","og_site_name":"RoboDK blog","article_publisher":"https:\/\/www.facebook.com\/robodkinc","article_published_time":"2020-08-04T15:30:04+00:00","article_modified_time":"2021-01-28T22:24:00+00:00","og_image":[{"width":2560,"height":1439,"url":"https:\/\/robodk.com\/blog\/wp-content\/uploads\/2020\/06\/Program_Robot_Positioner-scaled.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\/program-robotic-positioner\/#article","isPartOf":{"@id":"https:\/\/robodk.com\/blog\/program-robotic-positioner\/"},"author":{"name":"Alex Owen-Hill","@id":"https:\/\/robodk.com\/blog\/#\/schema\/person\/3ca2d3b921633adceba2740817765638"},"headline":"How to Program a Robotic Positioner the Right Way","datePublished":"2020-08-04T15:30:04+00:00","dateModified":"2021-01-28T22:24:00+00:00","mainEntityOfPage":{"@id":"https:\/\/robodk.com\/blog\/program-robotic-positioner\/"},"wordCount":1072,"commentCount":0,"publisher":{"@id":"https:\/\/robodk.com\/blog\/#organization"},"image":{"@id":"https:\/\/robodk.com\/blog\/program-robotic-positioner\/#primaryimage"},"thumbnailUrl":"https:\/\/robodk.com\/blog\/wp-content\/uploads\/2020\/06\/Program_Robot_Positioner-scaled.jpg","articleSection":["External Axes","offline programming","robot programming","Robot Simulation"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/robodk.com\/blog\/program-robotic-positioner\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/robodk.com\/blog\/program-robotic-positioner\/","url":"https:\/\/robodk.com\/blog\/program-robotic-positioner\/","name":"How to Program a Robotic Positioner the Right Way - RoboDK blog","isPartOf":{"@id":"https:\/\/robodk.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/robodk.com\/blog\/program-robotic-positioner\/#primaryimage"},"image":{"@id":"https:\/\/robodk.com\/blog\/program-robotic-positioner\/#primaryimage"},"thumbnailUrl":"https:\/\/robodk.com\/blog\/wp-content\/uploads\/2020\/06\/Program_Robot_Positioner-scaled.jpg","datePublished":"2020-08-04T15:30:04+00:00","dateModified":"2021-01-28T22:24:00+00:00","description":"You need to you extend your robot's capabilities with a robotic positioner. Now\u2026 what's the best way to program it? There are is a hard way and an easy way.","breadcrumb":{"@id":"https:\/\/robodk.com\/blog\/program-robotic-positioner\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/robodk.com\/blog\/program-robotic-positioner\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/robodk.com\/blog\/program-robotic-positioner\/#primaryimage","url":"https:\/\/robodk.com\/blog\/wp-content\/uploads\/2020\/06\/Program_Robot_Positioner-scaled.jpg","contentUrl":"https:\/\/robodk.com\/blog\/wp-content\/uploads\/2020\/06\/Program_Robot_Positioner-scaled.jpg","width":2560,"height":1439,"caption":"Engineer touching laptop to check and control welding robotics automatic arms machine in intelligent factory automotive industrial with monitoring system software. Digital manufacturing operation. Industry 4.0"},{"@type":"BreadcrumbList","@id":"https:\/\/robodk.com\/blog\/program-robotic-positioner\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/robodk.com\/blog\/"},{"@type":"ListItem","position":2,"name":"How to Program a Robotic Positioner the Right Way"}]},{"@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\/3029","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=3029"}],"version-history":[{"count":20,"href":"https:\/\/robodk.com\/blog\/wp-json\/wp\/v2\/posts\/3029\/revisions"}],"predecessor-version":[{"id":3829,"href":"https:\/\/robodk.com\/blog\/wp-json\/wp\/v2\/posts\/3029\/revisions\/3829"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/robodk.com\/blog\/wp-json\/wp\/v2\/media\/3100"}],"wp:attachment":[{"href":"https:\/\/robodk.com\/blog\/wp-json\/wp\/v2\/media?parent=3029"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/robodk.com\/blog\/wp-json\/wp\/v2\/categories?post=3029"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/robodk.com\/blog\/wp-json\/wp\/v2\/tags?post=3029"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}