{"id":1916,"date":"2019-06-11T08:39:25","date_gmt":"2019-06-11T12:39:25","guid":{"rendered":"https:\/\/robodk.com\/blog\/?page_id=1916"},"modified":"2025-09-19T03:53:08","modified_gmt":"2025-09-19T07:53:08","slug":"robot-programming-software-sme","status":"publish","type":"page","link":"https:\/\/robodk.com\/blog\/robot-programming-software-sme\/","title":{"rendered":"Robot Programming Software for SMEs"},"content":{"rendered":"\n<p>At large global companies, industrial robots have been in use for decades. Everyone has seen images of an automotive body-in-white line with dozens of large robots welding and manipulating parts with speed and efficiency. <\/p>\n\n\n\n<p>Unfortunately, this type of mass-scale, high volume automation project is out of reach for most companies. However, in the past several years, the growth of the industrial robotics market has rapidly increased, and more and more flexible, easy to implement robots are finding users in an array of applications from manufacturing assembly to CNC milling, welding, packaging, healthcare, and even artistic projects.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>How Offline Programming Software\nHelps Validate New Robot Integration Projects<\/strong><strong><\/strong><\/h2>\n\n\n\n<p>So, how can\nyou find out if flexible robotic automation can help in your process without\npurchasing a robot? The answer could be robotic simulation, allowing you to\ndesign and test your robotic cell layout and programming before investing in\nexpensive hardware, software and integration. Because RoboDK is robot-agnostic,\nit\u2019s possible to configure the simulation for many different makes and models\nof robot.<\/p>\n\n\n\n<p>Below are a few different application examples:<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Arc Welding<\/h3>\n\n\n\n<p>Norwegian startup Rebartek identified that the process of welding rebar parts into cages could be automated using two robots, with one picking and placing the rebar parts and the other robot doing the welding. &nbsp;Rebartek used a <a rel=\"noreferrer noopener\" aria-label=\" (opens in a new tab)\" href=\"https:\/\/rebartek.com\/\" target=\"_blank\">Universal Robots<\/a> robot to test their solution at first, before purchasing two KUKA robots to do the job. <\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"579\" height=\"314\" src=\"https:\/\/robodk.com\/blog\/wp-content\/uploads\/2019\/05\/IsaacPicture1.png\" alt=\"\" class=\"wp-image-1928\" srcset=\"https:\/\/robodk.com\/blog\/wp-content\/uploads\/2019\/05\/IsaacPicture1.png 579w, https:\/\/robodk.com\/blog\/wp-content\/uploads\/2019\/05\/IsaacPicture1-300x163.png 300w\" sizes=\"auto, (max-width: 579px) 100vw, 579px\" \/><figcaption class=\"wp-element-caption\">Image courtesy of Rebartek<\/figcaption><\/figure>\n\n\n\n<p>According to the company, RoboDK was the best choice because of its easy-to-use interface and extensive documentation, in addition to the online support community. Because Rebartek is planning more and more advanced projects with RoboDK, they used the RoboDK API to go beyond the capabilities of the graphical programming interface. Lastly, because RoboDK is robot agnostic, they were able to process their programming for the UR robot and for the KUKA robots. <\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Accurate Drilling <\/h3>\n\n\n\n<p>Here\u2019s a machining challenge: how do you drill 40,000 holes across the surface of a sphere, with 0.100 mm tolerance? It may sound like a practical joke, but for Neoset designs, it was the critical challenge of creating Death Star II, an art project. <\/p>\n\n\n\n<p>To drill\nthe holes, the team used a KUKA Titan robot, one of the largest industrial\nrobots on the market. The robot\u2019s massive payload was needed to support a\nspecially made drilling tool which itself had three axes of freedom like a\nmilling machine. This allowed the drill to achieve a higher accuracy than was\npossible with the robot alone and to minimize vibration.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"654\" src=\"https:\/\/robodk.com\/blog\/wp-content\/uploads\/2018\/07\/Accurate-Robot-Drilling-1024x654.jpg\" alt=\"\" class=\"wp-image-1415\" srcset=\"https:\/\/robodk.com\/blog\/wp-content\/uploads\/2018\/07\/Accurate-Robot-Drilling-1024x654.jpg 1024w, https:\/\/robodk.com\/blog\/wp-content\/uploads\/2018\/07\/Accurate-Robot-Drilling-300x192.jpg 300w, https:\/\/robodk.com\/blog\/wp-content\/uploads\/2018\/07\/Accurate-Robot-Drilling-768x490.jpg 768w, https:\/\/robodk.com\/blog\/wp-content\/uploads\/2018\/07\/Accurate-Robot-Drilling.jpg 1599w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">Image courtesy of Neoset Designs<\/figcaption><\/figure>\n\n\n\n<p>The team used RoboDK to calibrate the massive robot and to and implement adaptive robot control to drill the 40,000 holes. A Python script and the robot driver made real time robot compensation possible in RoboDK. The Python script validated the position with the measurement system before drilling. Any inaccuracy was corrected using an external 6D measurement system.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Robot Machining<\/h3>\n\n\n\n<p>While Rebartek and Neoset Designs both designed their processes to use one tool, one of the advantages of robotic automation is its flexibility. A great example of this is Sunrob Robotics\u2019 hockey stick milling process, a company based in Finland. A video of the process can be viewed <a rel=\"noreferrer noopener\" aria-label=\" (opens in a new tab)\" href=\"https:\/\/www.youtube.com\/watch?time_continue=10&amp;v=EWutKTOlufY\" target=\"_blank\">here.<\/a><\/p>\n\n\n\n<p>First, the\nrobot picks up a preform goalie stick from a pile. Then, it uses a laser\nscanner to align the milling toolpath program with the real position of the\npreform. The robot\u2019s program also controls the clamps which hold the preform in\nplace during milling. Next, the robot executes the toolpath and cuts the\npreform into shape. Because RoboDK is software agnostic, the toolpath could be\ncreated with any CAM software.<\/p>\n\n\n\n<p>Because the\nrobot is able to perform multiple tasks including laser measurement, handling\nobjects and milling, it effectively performs the entire process faster than what\ncould be done with a CNC machining center, for example\u2014especially because of\nthe odd shape of the goalie stick. &nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"600\" src=\"https:\/\/robodk.com\/blog\/wp-content\/uploads\/2018\/12\/Robot-Milling-Hockey-Sticks-1024x600.jpg\" alt=\"\" class=\"wp-image-1271\" srcset=\"https:\/\/robodk.com\/blog\/wp-content\/uploads\/2018\/12\/Robot-Milling-Hockey-Sticks-1024x600.jpg 1024w, https:\/\/robodk.com\/blog\/wp-content\/uploads\/2018\/12\/Robot-Milling-Hockey-Sticks-300x176.jpg 300w, https:\/\/robodk.com\/blog\/wp-content\/uploads\/2018\/12\/Robot-Milling-Hockey-Sticks-768x450.jpg 768w, https:\/\/robodk.com\/blog\/wp-content\/uploads\/2018\/12\/Robot-Milling-Hockey-Sticks.jpg 1748w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">Image courtesy of Sunrob Robotics<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Online Programming<\/h2>\n\n\n\n<p>Offline programming is a useful way of programming robots, but what about online programming? <\/p>\n\n\n\n<p>Online programming with RoboDK allows executing the movements on the real robot at the same time as it is being simulated. Modifications in the original program can be made in real time and synchronization between robots can be easily managed. This is achieved by using RoboDK simulation platform and appropriate robot drivers.<\/p>\n\n\n\n<p>EventRobotics implemented this live programming method in The Netherlands. At a concert event called Supremacy 2016, two KUKA KR 210 robots and RoboDK online programming were used to synchronize the motion of lights with the <a rel=\"noreferrer noopener\" aria-label=\" (opens in a new tab)\" href=\"https:\/\/robodk.com\/blog\/online-programming\/\" target=\"_blank\">music of the concert.<\/a><\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"682\" src=\"https:\/\/robodk.com\/blog\/wp-content\/uploads\/2019\/06\/Event-Robotics-Awakenings-1024x682.jpg\" alt=\"\" class=\"wp-image-2053\" srcset=\"https:\/\/robodk.com\/blog\/wp-content\/uploads\/2019\/06\/Event-Robotics-Awakenings-1024x682.jpg 1024w, https:\/\/robodk.com\/blog\/wp-content\/uploads\/2019\/06\/Event-Robotics-Awakenings-300x200.jpg 300w, https:\/\/robodk.com\/blog\/wp-content\/uploads\/2019\/06\/Event-Robotics-Awakenings-768x511.jpg 768w, https:\/\/robodk.com\/blog\/wp-content\/uploads\/2019\/06\/Event-Robotics-Awakenings.jpg 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">Image courtesy of Event Electronics<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Which Robot is Right for\nYour Application?<\/h2>\n\n\n\n<p>While many manufacturers tend to purchase only one brand of robot throughout their operations, not all robots are best suited to all tasks. For example, because collaborative robots are able to work alongside humans, this makes them well suited to tasks like machine tending, where the full safety guarding needed for a traditional industrial robot could get in the way. However, collaborative robots are not well suited to tasks that use a dangerous end-effector or take place away from human workers. For example, a Motoman HC-10 has collaborative safety features, but these are negated by a welding torch, which requires safety shielding when operated around people. A collaborative robot also may not be ideal in an automated paint spraying booth where people will not be working in close proximity to the robot during operation. So, it\u2019s common for manufacturers who have existing robots from one vendor to purchase a robot from another vendor when necessary. However, this can cause headaches for the robot programming personnel.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">How challenging is robot\nprogramming?<\/h2>\n\n\n\n<p>For those that haven\u2019t worked with industrial robots before, this answer varies greatly between brands, process applications, and even types of robots within one brand. For example, most<a href=\"https:\/\/d.docs.live.net\/86228426072f50a1\/Menu\"> <\/a><a aria-label=\"KUKA (opens in a new tab)\" href=\"https:\/\/d.docs.live.net\/86228426072f50a1\/Menu\" target=\"_blank\" rel=\"noreferrer noopener\">KUKA<\/a> serial manipulator robots are programmed in KUKA Robot Language (KRL), a proprietary language similar to Fortran. KUKA collaborative robots such as the KUKA iiwa and KUKA mobile robots use the KUKA Sunrise controller and are programmed in <a aria-label=\" (opens in a new tab)\" href=\"http:\/\/www.oir.caltech.edu\/twiki_oir\/pub\/Palomar\/ZTF\/KUKARoboticArmMaterial\/KUKA_SunriseOS_111_SI_en.pdf\" target=\"_blank\" rel=\"noreferrer noopener\">Java<\/a>.<\/p>\n\n\n\n<p><a aria-label=\" (opens in a new tab)\" href=\"https:\/\/www.fanucamerica.com\" target=\"_blank\" rel=\"noreferrer noopener\">FANUC<\/a> robots may be programmed in two languages, teach pendant (TP) or KAREL. TP is written using the teach pendant interface, while KAREL can be programmed offline on a PC. Like KRL, KAREL is similar to VHDL. <a href=\"https:\/\/www.motoman.com\/en-us\/products\/robots\/industrial\" target=\"_blank\" rel=\"noreferrer noopener\">Motoman<\/a> robots are programmed with the INFORM language (an assembler-like programming language), but the company also offers a library for C++, C# or Visual Basic called MotoCom. The <a href=\"https:\/\/new.abb.com\/products\/robotics\" target=\"_blank\" rel=\"noreferrer noopener\">ABB<\/a> programming language is called RAPID and is similar to Visual Basic.<\/p>\n\n\n\n<p>To illustrate the differences, take a look at this chart of three basic commands represented in several robot programming languages (and the number of parameters required):<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td><strong>Robot<\/strong>   <\/td><td><strong>Joint <\/strong><br><strong>Move<\/strong>   <\/td><td><strong>Linear<\/strong><br><strong>Move<\/strong>   <\/td><td>  <strong>Set Speed<\/strong>   <\/td><td><strong>Path<\/strong><br><strong>Rounding<\/strong>   <\/td><\/tr><tr><td><strong>ABB IRC5<\/strong>   <\/td><td>MoveJ (4)   <\/td><td>MoveL (4)   <\/td><td>speeddata(4)   <\/td><td>zonedata(4)   <\/td><\/tr><tr><td><strong>Fanuc RJ3<\/strong>   <\/td><td>J (2)   <\/td><td>L (2)   <\/td><td>speed (1)   <\/td><td>CNT (1)   <\/td><\/tr><tr><td><strong>Kawasaki<\/strong>   <\/td><td>JMOVE (1)   <\/td><td>LMOVE (1)   <\/td><td>SPEED (1)   <\/td><td>ACCURACY (1)   <\/td><\/tr><tr><td> <strong>KUKA KRC<\/strong>   <\/td><td>PTP (1)   <\/td><td>LIN\/SPL (1)   <\/td><td>$VEL.CP (1)   <\/td><td>$APO.CDIS (1)   <\/td><\/tr><tr><td><strong>Motoman JBI<\/strong>   <\/td><td>MOVJ (2)   <\/td><td>MOVL (2)   <\/td><td>VJ\/V (1)   <\/td><td>PL (1)   <\/td><\/tr><tr><td><strong>Universal Robots<\/strong>   <\/td><td>movej (1)   <\/td><td>movel\/movep (1)   <\/td><td>v(1)   <\/td><td>r (1)   <\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>Head spinning yet? That\u2019s a lot of different languages and interfaces, and there are dozens more robot manufacturers on the market such as <a href=\"https:\/\/www.staubli.com\/global\/en\/home.html\" target=\"_blank\" rel=\"noreferrer noopener\">Staubli,<\/a> <a aria-label=\" (opens in a new tab)\" href=\"https:\/\/epson.com\/industrial-robots-factory-automation\" target=\"_blank\" rel=\"noreferrer noopener\">Epson<\/a>, or <a href=\"https:\/\/www.kawasaki.com\/en-us\/\" target=\"_blank\" rel=\"noreferrer noopener\">Kawasaki<\/a>. The RoboDK library supports more than 1000 different robots from over 50 manufacturers, and end users can also add their robots to the library at any time.<\/p>\n\n\n\n<p>In\nindustrial robot programming, you could say that the motion path programming\nitself is the easy part. The challenge is in properly initializing the robot,\nfiguring out how to structure a program with subroutine calls or logic, and\nworking with external inputs such as sensors, switches, PLC control, and the\nend effector, especially if the end effector does not come with a supported\nplugin. However, while path programming is simple, it can be tedious and\nrepetitive to do manually, as the robot must be jogged to each position and\nprecisely located at each desired point. A typical program may contain dozens\nor even hundreds of points. When complete, the program must be tested at low\nvelocity, then at full velocity, and debugged. If your production line is down\nfor this entire process, it can be quite costly as well. <\/p>\n\n\n\n<p>This is one\nof the advantages of using RoboDK. Instead of becoming proficient in multiple\nrobot brands proprietary controller software, your programmer can achieve the\nsame results faster as a user of RoboDK with basic capability with the robot\ninterfaces.<\/p>\n\n\n\n<p>In addition, since RoboDK is vendor agnostic it can help you decide if a robot of any make and model can add value to your production line before you purchase.<\/p>\n\n\n\n<p><a href=\"https:\/\/robodk.com\/download\">RoboDK is free to try<\/a>. Compared to other offline programming software which can cost over $50K USD, RoboDK is an affordable option with extensive community support. So, if you\u2019re considering adding a robot to your production line, or considering offline programming or simulation as a solution to your robot programming headaches, try RoboDK. <\/p>\n","protected":false},"excerpt":{"rendered":"<p>At large global companies, industrial robots have been in use for decades. Everyone has seen images of an automotive body-in-white [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":2065,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","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":""},"class_list":["post-1916","page","type-page","status-publish","has-post-thumbnail","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Robot Programming Software for SMEs - RoboDK blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/robodk.com\/blog\/robot-programming-software-sme\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Robot Programming Software for SMEs - RoboDK blog\" \/>\n<meta property=\"og:description\" content=\"At large global companies, industrial robots have been in use for decades. Everyone has seen images of an automotive body-in-white [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/robodk.com\/blog\/robot-programming-software-sme\/\" \/>\n<meta property=\"og:site_name\" content=\"RoboDK blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/robodkinc\" \/>\n<meta property=\"article:modified_time\" content=\"2025-09-19T07:53:08+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/robodk.com\/blog\/wp-content\/uploads\/2019\/06\/NASA-Aerospace-Inspection-1.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1487\" \/>\n\t<meta property=\"og:image:height\" content=\"931\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:site\" content=\"@robodkinc\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"8 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/robodk.com\\\/blog\\\/robot-programming-software-sme\\\/\",\"url\":\"https:\\\/\\\/robodk.com\\\/blog\\\/robot-programming-software-sme\\\/\",\"name\":\"Robot Programming Software for SMEs - RoboDK blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/robodk.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/robodk.com\\\/blog\\\/robot-programming-software-sme\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/robodk.com\\\/blog\\\/robot-programming-software-sme\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/robodk.com\\\/blog\\\/wp-content\\\/uploads\\\/2019\\\/06\\\/NASA-Aerospace-Inspection-1.png\",\"datePublished\":\"2019-06-11T12:39:25+00:00\",\"dateModified\":\"2025-09-19T07:53:08+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/robodk.com\\\/blog\\\/robot-programming-software-sme\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/robodk.com\\\/blog\\\/robot-programming-software-sme\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/robodk.com\\\/blog\\\/robot-programming-software-sme\\\/#primaryimage\",\"url\":\"https:\\\/\\\/robodk.com\\\/blog\\\/wp-content\\\/uploads\\\/2019\\\/06\\\/NASA-Aerospace-Inspection-1.png\",\"contentUrl\":\"https:\\\/\\\/robodk.com\\\/blog\\\/wp-content\\\/uploads\\\/2019\\\/06\\\/NASA-Aerospace-Inspection-1.png\",\"width\":1487,\"height\":931},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/robodk.com\\\/blog\\\/robot-programming-software-sme\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/robodk.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Robot Programming Software for SMEs\"}]},{\"@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\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Robot Programming Software for SMEs - RoboDK blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/robodk.com\/blog\/robot-programming-software-sme\/","og_locale":"en_US","og_type":"article","og_title":"Robot Programming Software for SMEs - RoboDK blog","og_description":"At large global companies, industrial robots have been in use for decades. Everyone has seen images of an automotive body-in-white [&hellip;]","og_url":"https:\/\/robodk.com\/blog\/robot-programming-software-sme\/","og_site_name":"RoboDK blog","article_publisher":"https:\/\/www.facebook.com\/robodkinc","article_modified_time":"2025-09-19T07:53:08+00:00","og_image":[{"width":1487,"height":931,"url":"https:\/\/robodk.com\/blog\/wp-content\/uploads\/2019\/06\/NASA-Aerospace-Inspection-1.png","type":"image\/png"}],"twitter_card":"summary_large_image","twitter_site":"@robodkinc","twitter_misc":{"Est. reading time":"8 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/robodk.com\/blog\/robot-programming-software-sme\/","url":"https:\/\/robodk.com\/blog\/robot-programming-software-sme\/","name":"Robot Programming Software for SMEs - RoboDK blog","isPartOf":{"@id":"https:\/\/robodk.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/robodk.com\/blog\/robot-programming-software-sme\/#primaryimage"},"image":{"@id":"https:\/\/robodk.com\/blog\/robot-programming-software-sme\/#primaryimage"},"thumbnailUrl":"https:\/\/robodk.com\/blog\/wp-content\/uploads\/2019\/06\/NASA-Aerospace-Inspection-1.png","datePublished":"2019-06-11T12:39:25+00:00","dateModified":"2025-09-19T07:53:08+00:00","breadcrumb":{"@id":"https:\/\/robodk.com\/blog\/robot-programming-software-sme\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/robodk.com\/blog\/robot-programming-software-sme\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/robodk.com\/blog\/robot-programming-software-sme\/#primaryimage","url":"https:\/\/robodk.com\/blog\/wp-content\/uploads\/2019\/06\/NASA-Aerospace-Inspection-1.png","contentUrl":"https:\/\/robodk.com\/blog\/wp-content\/uploads\/2019\/06\/NASA-Aerospace-Inspection-1.png","width":1487,"height":931},{"@type":"BreadcrumbList","@id":"https:\/\/robodk.com\/blog\/robot-programming-software-sme\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/robodk.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Robot Programming Software for SMEs"}]},{"@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"]}]}},"_links":{"self":[{"href":"https:\/\/robodk.com\/blog\/wp-json\/wp\/v2\/pages\/1916","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/robodk.com\/blog\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/robodk.com\/blog\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/robodk.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/robodk.com\/blog\/wp-json\/wp\/v2\/comments?post=1916"}],"version-history":[{"count":26,"href":"https:\/\/robodk.com\/blog\/wp-json\/wp\/v2\/pages\/1916\/revisions"}],"predecessor-version":[{"id":8208,"href":"https:\/\/robodk.com\/blog\/wp-json\/wp\/v2\/pages\/1916\/revisions\/8208"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/robodk.com\/blog\/wp-json\/wp\/v2\/media\/2065"}],"wp:attachment":[{"href":"https:\/\/robodk.com\/blog\/wp-json\/wp\/v2\/media?parent=1916"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}