{"id":4000,"date":"2021-07-05T17:29:39","date_gmt":"2021-07-05T21:29:39","guid":{"rendered":"https:\/\/robodk.com\/blog\/?p=4000"},"modified":"2021-07-05T17:29:45","modified_gmt":"2021-07-05T21:29:45","slug":"the-11-most-useful-robot-programming-basics","status":"publish","type":"post","link":"https:\/\/robodk.com\/blog\/the-11-most-useful-robot-programming-basics\/","title":{"rendered":"The 11 Most Useful Robot Programming Basics"},"content":{"rendered":"\n<p><strong>Which basic properties are most useful to know when you&#8217;re starting with robot programming?<\/strong><\/p>\n\n\n\n<p><strong>Whether you are new to the world of robotics or you&#8217;re just looking to improve your programming skills, here are the top robot programming basics that are good to know.<\/strong><\/p>\n\n\n\n<!--more-->\n\n\n\n<p>It can sometimes feel like you need a degree in robotics to get started with robot programming. The conventional approaches to industrial robot programming look hard to grasp for new robotics programmers.<\/p>\n\n\n\n<p>However, with a decent of the basics of robotics and <a href=\"https:\/\/robodk.com\/simulation\" target=\"_blank\" rel=\"noopener noreferrer\">good robot programming software,<\/a> you can get started easily and quickly.<\/p>\n\n\n\n<p>Here are the 11 most useful robot programming basics:<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"1-basic-parts-of-a-robot\">1. Basic Parts of a Robot<\/h2>\n\n\n\n<p>Before you start learning how to program a robot, it&#8217;s helpful to get a grasp of the basic parts of any industrial robot. That way, you are at least comfortable with the physical machine that you will be programming.<\/p>\n\n\n\n<p>For example, the most basic parts of a 6 DoF industrial robot are:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Manipulator&#8217;s arm<\/li><li>End effector<\/li><li>Controller<\/li><li>Power source<\/li><li>Sensors (if any)<\/li><\/ul>\n\n\n\n<p>The components will vary slightly depending on the type of robot.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"2-degrees-of-freedom\">2. Degrees of Freedom<\/h2>\n\n\n\n<p>I have already introduced a vital concept in robotics: <a href=\"https:\/\/en.wikipedia.org\/wiki\/Degrees_of_freedom_(mechanics)\" target=\"_blank\" rel=\"noopener noreferrer\">Degrees of Freedom<\/a> (DoF).<\/p>\n\n\n\n<p>The DoF of a robot specifies how many independent axes the robot can move with. For example, a 6 DoF manipulator arm will have 6 independently controllable axes. Some DoF are &#8220;revolute&#8221; (i.e. they rotate about a point) and some are &#8220;linear&#8221; (i.e. they move along a line). It&#8217;s helpful to get familiar with the DoF of any robot before you program it.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"577\" src=\"https:\/\/robodk.com\/blog\/wp-content\/uploads\/2020\/06\/RoboDK_Robot_Positioner-1024x577.jpg\" alt=\"ABB Robot Machining with external axes\" class=\"wp-image-3093\" srcset=\"https:\/\/robodk.com\/blog\/wp-content\/uploads\/2020\/06\/RoboDK_Robot_Positioner-1024x577.jpg 1024w, https:\/\/robodk.com\/blog\/wp-content\/uploads\/2020\/06\/RoboDK_Robot_Positioner-300x169.jpg 300w, https:\/\/robodk.com\/blog\/wp-content\/uploads\/2020\/06\/RoboDK_Robot_Positioner-768x433.jpg 768w, https:\/\/robodk.com\/blog\/wp-content\/uploads\/2020\/06\/RoboDK_Robot_Positioner.jpg 1497w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"3-joints-and-end-effectors\">3. Joints and End Effectors<\/h2>\n\n\n\n<p>The &#8220;business end&#8221; of a robot (i.e. the part that operates on the task) is known as the &#8220;end effector&#8221;. When you are programming, you are usually most often interested in directing the robot&#8217;s end effector to particular locations.<\/p>\n\n\n\n<p>To move the robot, you need to send instructions with the desired positions of each of the robot&#8217;s DoF. If you are using software like RoboDK, you can instead just program the desired end effector position directly instead of sending specific joint positions.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"4-pose-position-and-orientation\">4. Pose: Position and Orientation<\/h2>\n\n\n\n<p>How do you program the end effector to tell it where to go?<\/p>\n\n\n\n<p>The position and orientation of the robot&#8217;s end effector (or any other location that you program) are combined to form the &#8220;pose.&#8221; You need to specify the pose of any location that the robot will move to in your program. The most common method of specifying a pose in programming is through Euler Angles.<\/p>\n\n\n\n<p>For more information, see our article <a href=\"https:\/\/robodk.com\/blog\/robot-euler-angles\/\" target=\"_blank\" rel=\"noopener noreferrer\">Robot Euler Angles: The Essential Primer<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"5-tool-center-point-tcp-\">5. Tool Center Point (TCP)<\/h2>\n\n\n\n<p>As we are most interested in the end effector pose when we are programming a robot, we often use the term Tool Center Point to refer to the operational center of the tool.<\/p>\n\n\n\n<p>Here are some examples for different end effectors:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>Glue gun \u2014<\/strong> You might set the TCP to be at the tip of the gun.<\/li><li><strong>Gripper \u2014<\/strong> The TCP might be in the center of the gripper&#8217;s fingers.<\/li><li><strong>Welding gun \u2014<\/strong> The TCP might be a few millimeters from the tip of the gun, where the flame is hottest.<\/li><\/ul>\n\n\n\n<p>As the programmer, you choose where it makes the most sense to place the robot&#8217;s TCP.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"996\" height=\"418\" src=\"https:\/\/robodk.com\/blog\/wp-content\/uploads\/2018\/04\/eulerrotation.png\" alt=\"\" class=\"wp-image-418\" srcset=\"https:\/\/robodk.com\/blog\/wp-content\/uploads\/2018\/04\/eulerrotation.png 996w, https:\/\/robodk.com\/blog\/wp-content\/uploads\/2018\/04\/eulerrotation-300x126.png 300w, https:\/\/robodk.com\/blog\/wp-content\/uploads\/2018\/04\/eulerrotation-768x322.png 768w\" sizes=\"auto, (max-width: 996px) 100vw, 996px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"6-kinematics\">6. Kinematics<\/h2>\n\n\n\n<p>One of the more challenging aspects of robotics is kinematics. This just means the geometrical arrangement of the robot. Kinematics is represented as a rather large equation or algorithm.<\/p>\n\n\n\n<p>The <a href=\"https:\/\/blog.robotiq.com\/how-to-calculate-a-robots-forward-kinematics-in-5-easy-steps\" target=\"_blank\" rel=\"noopener noreferrer\">Forward Kinematic<\/a> equation answers the question <em>&#8220;If I set the robot&#8217;s joints to a particular position, where will the TCP end up?&#8221;<\/em><\/p>\n\n\n\n<p>The Inverse Kinematic algorithm answers the opposite question <em>&#8220;If I want the TCP to end up at this pose, what position do I need to set the joints to?&#8221;<\/em><\/p>\n\n\n\n<p>With <a href=\"https:\/\/robodk.com\/simulation\" target=\"_blank\" rel=\"noopener noreferrer\">good robot programming software,<\/a> you probably don&#8217;t need to formulate your own kinematics, but it can be helpful to understand the basic concept.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"7-joint-limits\">7. Joint Limits<\/h2>\n\n\n\n<p>The kinematic equations describe the robot using pure geometry and math. However, robots are physical machines. The physical robot often can&#8217;t reach every position that the geometry says it can.<\/p>\n\n\n\n<p>We introduce joint limits into the programming to limit the movement of the robot&#8217;s joints only to positions that are physically possible. They just tell the program <em>&#8220;This joint can&#8217;t move beyond this certain angle.&#8221;<\/em><\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"8-move-types\">8. Move Types<\/h2>\n\n\n\n<p>When you are programming the robot, there are different types of movement that you can get the robot to make.<\/p>\n\n\n\n<p>The basic 3 movements are:<\/p>\n\n\n\n<ol class=\"wp-block-list\"><li><strong>Joint Move \u2014<\/strong> This is a fast, rough movement where every joint try to get to its target position as quickly as possible. To avoid collisions, joint moves should only be programmed when the robot is moving in free space.<\/li><li><strong>Linear Move \u2014<\/strong> This is a controlled movement along a line between two poses. The robot will necessarily move slower with a linear move but also won&#8217;t introduce any unhelpful collisions.<\/li><li><strong>Circular Move \u2014<\/strong> Like a linear movement, the robot moves in a controlled line, this time along a circular path.<\/li><\/ol>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"9-simulation-and-offline-programming\">9. Simulation and Offline Programming<\/h2>\n\n\n\n<p>There are many different ways to program a robot, including &#8220;getting your hands dirty&#8221; with the (usually complex) programming language provided by the robot manufacturer.<\/p>\n\n\n\n<p>Simulation and offline programming offer an easier programming method. Instead of programming the physical robot directly, you program a simulated model of the robot using intuitive commands. The software then converts the program into code that the physical robot can understand.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"10-post-processors\">10. Post-processors<\/h2>\n\n\n\n<p>The part of an offline programming software that converts the robot program is known as a post-processor. The programming software will have a different post-processor for each robot manufacturer, sometimes more than one.<\/p>\n\n\n\n<p>You can find out more about post-processors in our article <a href=\"https:\/\/robodk.com\/blog\/robot-post-processors\/\" target=\"_blank\" rel=\"noopener noreferrer\">Robot Post-Processors: Everything You Need to Know<\/a>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"820\" height=\"494\" src=\"https:\/\/robodk.com\/blog\/wp-content\/uploads\/2018\/04\/SelectPostProcessor.png\" alt=\"Select Robot Post Processor\" class=\"wp-image-494\" srcset=\"https:\/\/robodk.com\/blog\/wp-content\/uploads\/2018\/04\/SelectPostProcessor.png 820w, 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\" sizes=\"auto, (max-width: 820px) 100vw, 820px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"11-debugging\">11. Debugging<\/h2>\n\n\n\n<p>Whatever programming method you are using, a vital basic skill is debugging. You should always debug your program to make sure that it is working as you intend it to before you set your robot running in a production environment.<\/p>\n\n\n\n<p>Offline programming provides you an extra debugging step because you program a simulated model of the robot before you download the program to the physical robot itself, which reduces the possibility of errors.<\/p>\n\n\n\n<p>If you&#8217;d like to get started with robot programming immediately, <a href=\"https:\/\/robodk.com\/download\" target=\"_blank\" rel=\"noopener noreferrer\">you can download a free trial of RoboDK here.<\/a><\/p>\n\n\n\n<p><em>Which basic aspects of robot programming would you like help with? <strong>Tell us in the comments below or join the discussion on <a href=\"https:\/\/www.linkedin.com\/company\/robodk\/\" target=\"_blank\" rel=\"noopener noreferrer\">LinkedIn<\/a>, <a href=\"https:\/\/twitter.com\/robodkinc\" target=\"_blank\" rel=\"noopener noreferrer\">Twitter<\/a>, <a href=\"https:\/\/www.facebook.com\/robodkinc\" target=\"_blank\" rel=\"noopener noreferrer\">Facebook<\/a>, <a href=\"https:\/\/www.instagram.com\/robodk\/\" target=\"_blank\" rel=\"noopener noreferrer\">Instagram<\/a>, or in <a href=\"https:\/\/robodk.com\/forum\/\" target=\"_blank\" rel=\"noopener noreferrer\">the RoboDK Forum.<\/a><\/strong><\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Which basic properties are most useful to know when you&#8217;re starting with robot programming? Whether you are new to the [&hellip;]<\/p>\n","protected":false},"author":753,"featured_media":4099,"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,24,22],"tags":[],"class_list":["post-4000","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-offline-programming","category-robot-manufacturing","category-robot-programming"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.1.1 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>The 11 Most Useful Robot Programming Basics - RoboDK blog<\/title>\n<meta name=\"description\" content=\"Whether you are new to the world of robotics or you&#039;re just looking to improve your skills, here are the most useful robot programming basics.\" \/>\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\/the-11-most-useful-robot-programming-basics\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"The 11 Most Useful Robot Programming Basics - RoboDK blog\" \/>\n<meta property=\"og:description\" content=\"Whether you are new to the world of robotics or you&#039;re just looking to improve your skills, here are the most useful robot programming basics.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/robodk.com\/blog\/the-11-most-useful-robot-programming-basics\/\" \/>\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=\"2021-07-05T21:29:39+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-07-05T21:29:45+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/robodk.com\/blog\/wp-content\/uploads\/2021\/04\/robotic-arm-machine-scaled.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"2560\" \/>\n\t<meta property=\"og:image:height\" content=\"1707\" \/>\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=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/robodk.com\/blog\/the-11-most-useful-robot-programming-basics\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/robodk.com\/blog\/the-11-most-useful-robot-programming-basics\/\"},\"author\":{\"name\":\"Alex Owen-Hill\",\"@id\":\"https:\/\/robodk.com\/blog\/#\/schema\/person\/3ca2d3b921633adceba2740817765638\"},\"headline\":\"The 11 Most Useful Robot Programming Basics\",\"datePublished\":\"2021-07-05T21:29:39+00:00\",\"dateModified\":\"2021-07-05T21:29:45+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/robodk.com\/blog\/the-11-most-useful-robot-programming-basics\/\"},\"wordCount\":1094,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/robodk.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/robodk.com\/blog\/the-11-most-useful-robot-programming-basics\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/robodk.com\/blog\/wp-content\/uploads\/2021\/04\/robotic-arm-machine-scaled.jpg\",\"articleSection\":[\"offline programming\",\"Robot Manufacturing\",\"robot programming\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/robodk.com\/blog\/the-11-most-useful-robot-programming-basics\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/robodk.com\/blog\/the-11-most-useful-robot-programming-basics\/\",\"url\":\"https:\/\/robodk.com\/blog\/the-11-most-useful-robot-programming-basics\/\",\"name\":\"The 11 Most Useful Robot Programming Basics - RoboDK blog\",\"isPartOf\":{\"@id\":\"https:\/\/robodk.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/robodk.com\/blog\/the-11-most-useful-robot-programming-basics\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/robodk.com\/blog\/the-11-most-useful-robot-programming-basics\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/robodk.com\/blog\/wp-content\/uploads\/2021\/04\/robotic-arm-machine-scaled.jpg\",\"datePublished\":\"2021-07-05T21:29:39+00:00\",\"dateModified\":\"2021-07-05T21:29:45+00:00\",\"description\":\"Whether you are new to the world of robotics or you're just looking to improve your skills, here are the most useful robot programming basics.\",\"breadcrumb\":{\"@id\":\"https:\/\/robodk.com\/blog\/the-11-most-useful-robot-programming-basics\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/robodk.com\/blog\/the-11-most-useful-robot-programming-basics\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/robodk.com\/blog\/the-11-most-useful-robot-programming-basics\/#primaryimage\",\"url\":\"https:\/\/robodk.com\/blog\/wp-content\/uploads\/2021\/04\/robotic-arm-machine-scaled.jpg\",\"contentUrl\":\"https:\/\/robodk.com\/blog\/wp-content\/uploads\/2021\/04\/robotic-arm-machine-scaled.jpg\",\"width\":2560,\"height\":1707,\"caption\":\"Female industrial engineer or technician worker in hard helmet and uniform using laptop checking on robotic arm machine. woman work hard in heavy technology invention industry manufacturing factory\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/robodk.com\/blog\/the-11-most-useful-robot-programming-basics\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/robodk.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"The 11 Most Useful Robot Programming Basics\"}]},{\"@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":"The 11 Most Useful Robot Programming Basics - RoboDK blog","description":"Whether you are new to the world of robotics or you're just looking to improve your skills, here are the most useful robot programming basics.","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\/the-11-most-useful-robot-programming-basics\/","og_locale":"en_US","og_type":"article","og_title":"The 11 Most Useful Robot Programming Basics - RoboDK blog","og_description":"Whether you are new to the world of robotics or you're just looking to improve your skills, here are the most useful robot programming basics.","og_url":"https:\/\/robodk.com\/blog\/the-11-most-useful-robot-programming-basics\/","og_site_name":"RoboDK blog","article_publisher":"https:\/\/www.facebook.com\/robodkinc","article_published_time":"2021-07-05T21:29:39+00:00","article_modified_time":"2021-07-05T21:29:45+00:00","og_image":[{"width":2560,"height":1707,"url":"https:\/\/robodk.com\/blog\/wp-content\/uploads\/2021\/04\/robotic-arm-machine-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":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/robodk.com\/blog\/the-11-most-useful-robot-programming-basics\/#article","isPartOf":{"@id":"https:\/\/robodk.com\/blog\/the-11-most-useful-robot-programming-basics\/"},"author":{"name":"Alex Owen-Hill","@id":"https:\/\/robodk.com\/blog\/#\/schema\/person\/3ca2d3b921633adceba2740817765638"},"headline":"The 11 Most Useful Robot Programming Basics","datePublished":"2021-07-05T21:29:39+00:00","dateModified":"2021-07-05T21:29:45+00:00","mainEntityOfPage":{"@id":"https:\/\/robodk.com\/blog\/the-11-most-useful-robot-programming-basics\/"},"wordCount":1094,"commentCount":0,"publisher":{"@id":"https:\/\/robodk.com\/blog\/#organization"},"image":{"@id":"https:\/\/robodk.com\/blog\/the-11-most-useful-robot-programming-basics\/#primaryimage"},"thumbnailUrl":"https:\/\/robodk.com\/blog\/wp-content\/uploads\/2021\/04\/robotic-arm-machine-scaled.jpg","articleSection":["offline programming","Robot Manufacturing","robot programming"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/robodk.com\/blog\/the-11-most-useful-robot-programming-basics\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/robodk.com\/blog\/the-11-most-useful-robot-programming-basics\/","url":"https:\/\/robodk.com\/blog\/the-11-most-useful-robot-programming-basics\/","name":"The 11 Most Useful Robot Programming Basics - RoboDK blog","isPartOf":{"@id":"https:\/\/robodk.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/robodk.com\/blog\/the-11-most-useful-robot-programming-basics\/#primaryimage"},"image":{"@id":"https:\/\/robodk.com\/blog\/the-11-most-useful-robot-programming-basics\/#primaryimage"},"thumbnailUrl":"https:\/\/robodk.com\/blog\/wp-content\/uploads\/2021\/04\/robotic-arm-machine-scaled.jpg","datePublished":"2021-07-05T21:29:39+00:00","dateModified":"2021-07-05T21:29:45+00:00","description":"Whether you are new to the world of robotics or you're just looking to improve your skills, here are the most useful robot programming basics.","breadcrumb":{"@id":"https:\/\/robodk.com\/blog\/the-11-most-useful-robot-programming-basics\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/robodk.com\/blog\/the-11-most-useful-robot-programming-basics\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/robodk.com\/blog\/the-11-most-useful-robot-programming-basics\/#primaryimage","url":"https:\/\/robodk.com\/blog\/wp-content\/uploads\/2021\/04\/robotic-arm-machine-scaled.jpg","contentUrl":"https:\/\/robodk.com\/blog\/wp-content\/uploads\/2021\/04\/robotic-arm-machine-scaled.jpg","width":2560,"height":1707,"caption":"Female industrial engineer or technician worker in hard helmet and uniform using laptop checking on robotic arm machine. woman work hard in heavy technology invention industry manufacturing factory"},{"@type":"BreadcrumbList","@id":"https:\/\/robodk.com\/blog\/the-11-most-useful-robot-programming-basics\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/robodk.com\/blog\/"},{"@type":"ListItem","position":2,"name":"The 11 Most Useful Robot Programming Basics"}]},{"@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\/4000","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=4000"}],"version-history":[{"count":7,"href":"https:\/\/robodk.com\/blog\/wp-json\/wp\/v2\/posts\/4000\/revisions"}],"predecessor-version":[{"id":4309,"href":"https:\/\/robodk.com\/blog\/wp-json\/wp\/v2\/posts\/4000\/revisions\/4309"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/robodk.com\/blog\/wp-json\/wp\/v2\/media\/4099"}],"wp:attachment":[{"href":"https:\/\/robodk.com\/blog\/wp-json\/wp\/v2\/media?parent=4000"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/robodk.com\/blog\/wp-json\/wp\/v2\/categories?post=4000"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/robodk.com\/blog\/wp-json\/wp\/v2\/tags?post=4000"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}