Smart camera system for vision-guided robotics

ABB Robotics' Integrated Vision works with PC-based ABB RobotStudio to provide a platform for creating vision-guided robotic applications.

ABB Robotics has introduced Integrated Vision, a powerful smart camera system that makes vision-guided robotics applications faster and easier to deploy than ever before. Using 2D vision guidance, ABB Integrated Vision allows manufacturers to:  track products more accurately, improve supply chain management, improve quality, troubleshoot challenging lines and processes, and significantly expand their use of robotic automation. Taken together, the advantages of vision-guided robotics can significantly improve a company’s bottom line, saving time, money, and other valuable resources.

ABB Integrated Vision features sophisticated imaging technologies such as the patented PatMax algorithm for advanced part location. The result is robust inspection, defect detection, guidance, alignment, and measurement, all critical to ensuring that manufactured products meet the highest possible quality standards.

The technology is easy to setup, deploy and maintain. RobotStudio, ABB’s powerfully simple PC-based programming tool, provides the platform for creating vision tasks quickly and easily. Operators can select features, set parameters and operate under real world conditions from a library of common vision applications. The smart camera offers the widest range of built-in communication protocols that interface directly with the robot, helping complete programming and set-up in approximately 25% of the traditional time.

ABB Robotics

Industrial Robot Supplier and Manufacturer | ABB Robotics

var jsLibs = [];
function isBackend() { return document.getElementsByTagName(“body”)[0].className.match(/sfPageEditor/) && (typeof requirejs !== ‘undefined’); }
function widgetInit(widget, callback) { if (isBackend()) { callback = callback || function () { }; require([widget], function () { callback(); }); } }
function dragDropCallback(callback) { if (isBackend()) { callback(); } }

var _gaq = _gaq || [];
function TimeTracker(a, b, c) { return this.MAX_TIME = 6e5, this.category = a, this.variable = b, this.label = c ? c : void 0, this.startTime, this.elapsedTime, this.isDebug = !0, this } TimeTracker.prototype = { startTime: function () { return this.startTime = (new Date).getTime(), this }, endTime: function () { return this.elapsedTime = (new Date).getTime() – this.startTime, this }, debug: function (a) { return this.isDebug = void 0 == a ? !0 : a, this }, send: function (a, b) { if (a = a || this.variable, b = b || this.label, 0 < this.elapsedTime && this.elapsedTime < this.MAX_TIME) { var c = ["_trackTiming", this.category, a, this.elapsedTime, b]; this.isDebug && (c.push(100), window.console && window.console.log && console.log(c)), window._gaq.push(c) } return this } }, window.tt = new TimeTracker("Page", "General Timing"), window.tt.startTime();

window.atctSettings = {"enableCart":true,"showCartCookieName":"showCart","host":"https://ace.abb.com","getCartOnInit":false,"previewCss":"https://www.abb.com/Sitefinity/WebsiteTemplates/AbbBranding/App_Scripts/requirejs-libs/cart/cartpreviews.css"};
window.seoSettings = {"enableBreadcrumbSnippet":true};

.slideDownMenu.sf_colsOut.sf_1col_1_100 {
float: right;
}
header.abb-page__header.abb-page__header–sticky {
z-index: 9!important;
}
a.module-heading__link.module-heading__link–is-external {
z-index: 1;
}bazadebezolkohpepadr=”1204508496″

//

//

//

//

The world's most remote robot

ABB's technological solution for replanting the Amazon

/* CSS for main container */
.backgroundvideo_mainconteiner {
position: relative;
}
/* CSS for Dark Mask */
.backgroundvideo_mask {
filter: brightness(0.5);
}
/* CSS for Gradient Mask*/
.backgroundvideo_gradient::after {
content: “”;
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 99%;
display: inline-block;
background: -moz-linear-gradient(63.75deg, rgba(0, 0, 0, 0.8) 0, rgba(0, 0, 0, 0.0001) 100%);
background: -webkit-linear-gradient(63.75deg, rgba(0, 0, 0, 0.8) 0, rgba(0, 0, 0, 0.0001) 100%);
background: -o-linear-gradient(63.75deg, rgba(0, 0, 0, 0.8) 0, rgba(0, 0, 0, 0.0001) 100%);
background: -ms-linear-gradient(63.75deg, rgba(0, 0, 0, 0.8) 0, rgba(0, 0, 0, 0.0001) 100%);
background: linear-gradient(63.75deg, rgba(0, 0, 0, 0.8) 0, rgba(0, 0, 0, 0.0001) 100%);
}

 

ABB Robotics

jsLibs.push(“layout8_4”);

ABB Robotics as one of the world’s leading robotics and machine automation suppliers is the only company with a comprehensive and integrated portfolio covering robots, AMRs and machine automation solutions – designed and orchestrated by our value-creating software. ABB Robotics employs approximately 11,000 people at over 100 locations in more than 50 countries.

.descriptionText {
display: block;
clear: both;
}

.linkText {
clear: both;
}

.abbButton.gradientHeadlineColors.red.text-right {
float: right;
}

.abbButton.gradientHeadlineColors.red.text-left {
float: left;
}

.abbButton.gradientHeadlineColors.gray.text-right {
float: right;
}

.abbButton.gradientHeadlineColors.gray.text-left {
float: left;
}

.normal.text-left {
float: left;
}

.normal.text-right {
float: right;
}

jsLibs.push(“layout8_4”);

 

Our portfolio

jsLibs.push(“layout8_4”);

jsLibs.push(“expandable”);
widgetInit(“expandable”, function () {
initExpandableLayout();
});

 

News and highlights

jsLibs.push(“layout8_4”);

jsLibs.push(“newimagegalleryinitnew”);
widgetInit(“newimagegalleryinitnew”, function () {
// if backend, turn off carrousel so you can drag/drop tiles inside layout
if ($(‘body’).attr(‘class’).indexOf(‘sfPageEditor’) != -1) {
$(‘.rs-carousel’).removeClass(‘rs-carousel’);
}
});

.descriptionText {
display: block;
clear: both;
}

.linkText {
clear: both;
}

.abbButton.gradientHeadlineColors.red.text-right {
float: right;
}

.abbButton.gradientHeadlineColors.red.text-left {
float: left;
}

.abbButton.gradientHeadlineColors.gray.text-right {
float: right;
}

.abbButton.gradientHeadlineColors.gray.text-left {
float: left;
}

.normal.text-left {
float: left;
}

.normal.text-right {
float: right;
}

Industries we serve

jsLibs.push(“layout8_4”);

dragDropCallback(function () {
rememberContainingLayout();
});

dragDropCallback(function () {
rememberContainingLayout();
});

dragDropCallback(function () {
rememberContainingLayout();
});

dragDropCallback(function () {
rememberContainingLayout();
});

dragDropCallback(function () {
rememberContainingLayout();
});

dragDropCallback(function () {
rememberContainingLayout();
});

dragDropCallback(function () {
rememberContainingLayout();
});

dragDropCallback(function () {
rememberContainingLayout();
});

dragDropCallback(function () {
rememberContainingLayout();
});

 

How we help our customers

CSS Flexbox Cards</a> </p> <p>– See more <i>Control Engineering</i> <a href="https://www.controleng.com/mechatronics-motion-control/robotics/" target="cfeTarget" rel="noopener">robotics products</a>.</p> </div> </article> <div class="after-entry"> </div> </main> <aside class="sidebar sidebar--primary" role="complementary"><div class="wd-shared-counts"><div class="wd-shared-counts__inner"><span class="wd-shared-counts__label"><svg xmlns="http://www.w3.org/2000/svg" fill="none" width="40" height="40" viewBox="0 0 48 48" aria-hidden="true" focusable="false"><path fill="#fff" d="M13 21.6 7 18l-6 3.6v7L7 32l6-3.4v-7ZM45 36.6 39 33l-6 3.6v7l6 3.4 6-3.4v-7ZM45 6.4 39 3l-6 3.4v7l6 3.6 6-3.6v-7Z"/><path fill="#008AD8" fill-opacity=".2" d="m33 43.6 6 3.4 6-3.4v-7l-12 7ZM1 28.6 7 32l6-3.4v-7l-12 7ZM33 13.4l6 3.6 6-3.6v-7l-12 7Z"/><path fill="#008AD8" fill-rule="evenodd" d="M6.486 17.142a1 1 0 0 1 1.029 0l6 3.6A1 1 0 0 1 14 21.6v7a1 1 0 0 1-.507.87l-6 3.4a1 1 0 0 1-.986 0l-6-3.4A1 1 0 0 1 0 28.6v-7a1 1 0 0 1 .486-.858l6-3.6ZM2 22.166v5.851l5 2.834 5-2.834v-5.85l-5-3-5 3ZM38.486 32.142a1 1 0 0 1 1.029 0l6 3.6A1 1 0 0 1 46 36.6v7a1 1 0 0 1-.507.87l-6 3.4a1 1 0 0 1-.986 0l-6-3.4A1 1 0 0 1 32 43.6v-7a1 1 0 0 1 .486-.858l6-3.6ZM34 37.166v5.851l5 2.834 5-2.834v-5.85l-5-3-5 3Z" clip-rule="evenodd"/><path fill="#008AD8" fill-rule="evenodd" d="M33.925 13.02a1 1 0 0 1-.546 1.305l-20 8.2a1 1 0 0 1-.758-1.85l20-8.2a1 1 0 0 1 1.304.546ZM12.072 28.229a1 1 0 0 1 1.3-.557l20 8a1 1 0 0 1-.743 1.857l-20-8a1 1 0 0 1-.557-1.3Z" clip-rule="evenodd"/><path fill="#008AD8" fill-rule="evenodd" d="M38.507 2.13a1 1 0 0 1 .986 0l6 3.4A1 1 0 0 1 46 6.4v7a1 1 0 0 1-.486.857l-6 3.6a1 1 0 0 1-1.029 0l-6-3.6A1 1 0 0 1 32 13.4v-7a1 1 0 0 1 .507-.87l6-3.4ZM34 6.983v5.85l5 3 5-3v-5.85l-5-2.834-5 2.834Z" clip-rule="evenodd"/></svg></span><div class="shared-counts-wrap style-icon"><a href="https://www.facebook.com/sharer/sharer.php?u=https://www.controleng.com/smart-camera-system-for-vision-guided-robotics/&display=popup&ref=plugin&src=share_button" title="Share on Facebook" target="_blank" rel="nofollow noopener noreferrer" class="shared-counts-button facebook shared-counts-no-count" data-postid="99500" data-social-network="Facebook" data-social-action="Share" data-social-target="https://www.controleng.com/smart-camera-system-for-vision-guided-robotics/"><span class="shared-counts-icon-label"><span class="shared-counts-icon"><svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="18.8125" height="32" viewBox="0 0 602 1024"><path d="M548 6.857v150.857h-89.714q-49.143 0-66.286 20.571t-17.143 61.714v108h167.429l-22.286 169.143h-145.143v433.714h-174.857v-433.714h-145.714v-169.143h145.714v-124.571q0-106.286 59.429-164.857t158.286-58.571q84 0 130.286 6.857z"></path></svg></span><span class="shared-counts-label">Facebook</span></span></a><a href="https://twitter.com/share?url=https://www.controleng.com/smart-camera-system-for-vision-guided-robotics/&text=Smart%20camera%20system%20for%20vision-guided%20robotics" title="Share on Twitter" target="_blank" rel="nofollow noopener noreferrer" class="shared-counts-button twitter shared-counts-no-count" data-postid="99500" data-social-network="Twitter" data-social-action="Tweet" data-social-target="https://www.controleng.com/smart-camera-system-for-vision-guided-robotics/"><span class="shared-counts-icon-label"><span class="shared-counts-icon"><svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M13.8944 10.4695L21.3345 2H19.5716L13.1085 9.35244L7.95022 2H1.99936L9.80147 13.1192L1.99936 22H3.76218L10.5832 14.2338L16.0318 22H21.9827L13.8944 10.4695ZM11.4792 13.2168L10.6875 12.1089L4.39789 3.30146H7.10594L12.1833 10.412L12.9717 11.5199L19.5708 20.7619H16.8628L11.4792 13.2168Z" /></svg></span><span class="shared-counts-label">Tweet</span></span></a><a href="https://www.linkedin.com/shareArticle?mini=true&url=https://www.controleng.com/smart-camera-system-for-vision-guided-robotics/" title="Share on LinkedIn" target="_blank" rel="nofollow noopener noreferrer" class="shared-counts-button linkedin shared-counts-no-count" data-postid="99500" data-social-network="LinkedIn" data-social-action="Share" data-social-target="https://www.controleng.com/smart-camera-system-for-vision-guided-robotics/"><span class="shared-counts-icon-label"><span class="shared-counts-icon"><svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="27.4375" height="32" viewBox="0 0 878 1024"><path d="M199.429 357.143v566.286h-188.571v-566.286h188.571zM211.429 182.286q0.571 41.714-28.857 69.714t-77.429 28h-1.143q-46.857 0-75.429-28t-28.571-69.714q0-42.286 29.429-70t76.857-27.714 76 27.714 29.143 70zM877.714 598.857v324.571h-188v-302.857q0-60-23.143-94t-72.286-34q-36 0-60.286 19.714t-36.286 48.857q-6.286 17.143-6.286 46.286v316h-188q1.143-228 1.143-369.714t-0.571-169.143l-0.571-27.429h188v82.286h-1.143q11.429-18.286 23.429-32t32.286-29.714 49.714-24.857 65.429-8.857q97.714 0 157.143 64.857t59.429 190z"></path></svg></span><span class="shared-counts-label">LinkedIn</span></span></a><a href="https://www.reddit.com/submit?url=https://www.controleng.com/smart-camera-system-for-vision-guided-robotics/" title="Share on Reddit" target="_blank" rel="nofollow noopener noreferrer" class="shared-counts-button reddit shared-counts-no-count" data-postid="99500" data-social-network="Reddit" data-social-action="Share" data-social-target="https://www.controleng.com/smart-camera-system-for-vision-guided-robotics/"><span class="shared-counts-icon-label"><span class="shared-counts-icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" height="16px" width="16px"><path d="M373 138.6c-25.2 0-46.3-17.5-51.9-41l0 0c-30.6 4.3-54.2 30.7-54.2 62.4l0 .2c47.4 1.8 90.6 15.1 124.9 36.3c12.6-9.7 28.4-15.5 45.5-15.5c41.3 0 74.7 33.4 74.7 74.7c0 29.8-17.4 55.5-42.7 67.5c-2.4 86.8-97 156.6-213.2 156.6S45.5 410.1 43 323.4C17.6 311.5 0 285.7 0 255.7c0-41.3 33.4-74.7 74.7-74.7c17.2 0 33 5.8 45.7 15.6c34-21.1 76.8-34.4 123.7-36.4l0-.3c0-44.3 33.7-80.9 76.8-85.5C325.8 50.2 347.2 32 373 32c29.4 0 53.3 23.9 53.3 53.3s-23.9 53.3-53.3 53.3zM157.5 255.3c-20.9 0-38.9 20.8-40.2 47.9s17.1 38.1 38 38.1s36.6-9.8 37.8-36.9s-14.7-49.1-35.7-49.1zM395 303.1c-1.2-27.1-19.2-47.9-40.2-47.9s-36.9 22-35.7 49.1c1.2 27.1 16.9 36.9 37.8 36.9s39.3-11 38-38.1zm-60.1 70.8c1.5-3.6-1-7.7-4.9-8.1c-23-2.3-47.9-3.6-73.8-3.6s-50.8 1.3-73.8 3.6c-3.9 .4-6.4 4.5-4.9 8.1c12.9 30.8 43.3 52.4 78.7 52.4s65.8-21.6 78.7-52.4z"/></svg></span><span class="shared-counts-label">Reddit</span></span></a></div></div></div> <div class="sidebar-author"> <a class="author-box author-box--sidebar" href="https://www.controleng.com/author/control-engineering-staff/"> <div class="author-box__content-wrap"> <span class="author-box__leader"> Written by </span> <h4 class="author-box__title has-font-size-8-font-size"></h4>Control Engineering Staff</h4> <div class="author-box__content"></div> </div> </a> </div> <div class="sidebar-adspace-top"> <span> <div id='div-gpt-controleng_sidebarbottom'> <script> googletag.cmd.push(function() { googletag.display('div-gpt-controleng_sidebarbottom'); }); </script> </div> </span> </div> <div class="loop-wrapper-sidebar"> <h2 class="has-font-size-6-font-size">more news</h2> <article class="loop-item loop-item--sidebar"> <div class="loop-item__content"> <div class="loop-item__categories"><p class="has-font-size-1-font-size"><a href="https://www.controleng.com/awards/" class="loop-item__categories-link has-inline-color">Awards</a></p></div> <h3 class="loop-item__title has-font-size-4-font-size"> <a href="https://www.controleng.com/2025-control-engineering-product-of-the-year-winners-announced/"> 2025 Control Engineering Product of the Year winners announced </a> </h3> </div> </article> <article class="loop-item loop-item--sidebar"> <div class="loop-item__content"> <div class="loop-item__categories"><p class="has-font-size-1-font-size"><a href="https://www.controleng.com/events-and-awards/" class="loop-item__categories-link has-inline-color">Events and Awards</a></p></div> <h3 class="loop-item__title has-font-size-4-font-size"> <a href="https://www.controleng.com/voting-is-open-for-the-2025-ce-poy-program/"> Voting is open for the 2025 Control Engineering Product of the Year Program </a> </h3> </div> </article> <article class="loop-item loop-item--sidebar"> <div class="loop-item__content"> <div class="loop-item__categories"><p class="has-font-size-1-font-size"><a href="https://www.controleng.com/mechatronics/" class="loop-item__categories-link has-inline-color">Mechatronics and Motion Control</a></p></div> <h3 class="loop-item__title has-font-size-4-font-size"> <a href="https://www.controleng.com/motion-controls-market-declines-6-9-in-2024-growth-expected/"> Motion controls market declines 6.9% in 2024, growth expected </a> </h3> </div> </article> </div> <div class="sidebar__sponsored-content"> <div class="sidebar__sponsored-content-item"> <div id='div-gpt-controleng_sidebar1'> <script> googletag.cmd.push(function() { googletag.display('div-gpt-controleng_sidebar1'); }); </script> </div> </div> <div class="sidebar__sponsored-content-item"> <div id='div-gpt-controleng_sidebarbottom'> <script> googletag.cmd.push(function() { googletag.display('div-gpt-controleng_sidebarbottom'); }); </script> </div> </div> </div> <div class="block-area block-area-sidebar"> <div id="media-space-block_02ef24ffd327160b47010e7a68072d23" class="acf-block block-adspace type-custom-script layout-default"> <span> <div id='div-gpt-controleng_sidebarbottom2'> <script> googletag.cmd.push(function() { googletag.display('div-gpt-controleng_sidebarbottom2'); }); </script> </div> </span> </div> <div id="block-f5b69ab50f63475e88cc11677ba0b87d" class="acf-block block-email-subscribe block-email-subscribe--sidebar-layout" style="margin-top:var(--wp--preset--spacing--medium);margin-bottom:var(--wp--preset--spacing--medium);"> <div class="block-email-subscribe__innerBlocks acf-inner-blocks-container"> <div class="wp-block-group has-global-padding is-layout-constrained wp-container-core-group-is-layout-ebbf4722 wp-block-group-is-layout-constrained" style="padding-top:0;padding-right:0;padding-bottom:0;padding-left:0"> <p class="has-secondary-color has-text-color has-secondary-font-font-family has-font-size-4-font-size" style="font-weight:800;text-transform:uppercase">Stay in the know</p> <h2 class="wp-block-heading">Subscribe to the controleng.com Newsletter</h2> </div> </div> <div class="block-email-subscribe__form"> <div class='gf_browser_gecko gform_wrapper gravity-theme gform-theme--no-framework styled-labels_wrapper' data-form-theme='gravity-theme' data-form-index='0' id='gform_wrapper_5' ><form method='post' enctype='multipart/form-data' id='gform_5' class='styled-labels' action='/smart-camera-system-for-vision-guided-robotics/' data-formid='5' novalidate> <input type='hidden' class='gforms-pum' value='{"closepopup":false,"closedelay":0,"openpopup":false,"openpopup_id":0}' /> <div class='gform-body gform_body'><div id='gform_fields_5' class='gform_fields top_label form_sublabel_below description_below validation_below'><div id="field_5_3" class="gfield gfield--type-text gfield--input-type-text gfield--width-full field_sublabel_below gfield--no-description field_description_below field_validation_below gfield_visibility_hidden gfield_text_wrap" data-field-class="gfield_text_wrap" ><div class="admin-hidden-markup"><i class="gform-icon gform-icon--hidden" aria-hidden="true" title="This field is hidden when viewing the form"></i><span>This field is hidden when viewing the form</span></div><label class='gfield_label gform-field-label' for='input_5_3'>Submission URL</label><div class='ginput_container ginput_container_text'><input name='input_3' id='input_5_3' type='text' value='https://www.controleng.com/smart-camera-system-for-vision-guided-robotics/' class='large' aria-invalid="false" /></div></div><div id="field_5_1" class="gfield gfield--type-email gfield--input-type-email gfield--width-full gfield_contains_required field_sublabel_below gfield--no-description field_description_below hidden_label field_validation_below gfield_visibility_visible gfield_email_wrap" data-field-class="gfield_email_wrap" ><label class='gfield_label gform-field-label' for='input_5_1'>Email<span class="gfield_required"><span class="gfield_required gfield_required_text">(Required)</span></span></label><div class='ginput_container ginput_container_email'> <input name='input_1' id='input_5_1' type='email' value='' class='large' placeholder='Email Address' aria-required="true" aria-invalid="false" /> </div></div><div id="field_5_4" class="gfield gfield--type-text gfield--input-type-text field_sublabel_below gfield--no-description field_description_below field_validation_below gfield_visibility_hidden gfield_text_wrap" data-field-class="gfield_text_wrap" ><div class="admin-hidden-markup"><i class="gform-icon gform-icon--hidden" aria-hidden="true" title="This field is hidden when viewing the form"></i><span>This field is hidden when viewing the form</span></div><label class='gfield_label gform-field-label' for='input_5_4'>Primary Cat</label><div class='ginput_container ginput_container_text'><input name='input_4' id='input_5_4' type='text' value='' class='large' aria-invalid="false" /></div></div><div id="field_5_5" class="gfield gfield--type-captcha gfield--input-type-captcha gfield--width-full field_sublabel_below gfield--no-description field_description_below hidden_label field_validation_below gfield_visibility_visible gfield_captcha_wrap" data-field-class="gfield_captcha_wrap" ><label class='gfield_label gform-field-label' for='input_5_5'>CAPTCHA</label><div id='input_5_5' class='ginput_container ginput_recaptcha' data-sitekey='6Lcb0DIqAAAAAPw0QBgafvlbxJ4vNo5Esft6RtMD' data-theme='light' data-tabindex='0' data-badge=''></div></div><div id="field_5_6" class="gfield gfield--type-honeypot gform_validation_container field_sublabel_below gfield--has-description field_description_below field_validation_below gfield_visibility_visible gfield_honeypot_wrap" data-field-class="gfield_honeypot_wrap" ><label class='gfield_label gform-field-label' for='input_5_6'>Name</label><div class='ginput_container'><input name='input_6' id='input_5_6' type='text' value='' autocomplete='new-password'/></div><div class='gfield_description' id='gfield_description_5_6'>This field is for validation purposes and should be left unchanged.</div></div></div></div> <div class='gform-footer gform_footer top_label'> <button type="submit" id="gform_submit_button_5" class="gform_button button" onclick="gform.submission.handleButtonClick(this);" data-submission-type="submit">Subscribe Now</button> <input type='hidden' class='gform_hidden' name='gform_submission_method' data-js='gform_submission_method_5' value='postback' /> <input type='hidden' class='gform_hidden' name='gform_theme' data-js='gform_theme_5' id='gform_theme_5' value='gravity-theme' /> <input type='hidden' class='gform_hidden' name='gform_style_settings' data-js='gform_style_settings_5' id='gform_style_settings_5' value='' /> <input type='hidden' class='gform_hidden' name='is_submit_5' value='1' /> <input type='hidden' class='gform_hidden' name='gform_submit' value='5' /> <input type='hidden' class='gform_hidden' name='gform_unique_id' value='' /> <input type='hidden' class='gform_hidden' name='state_5' value='WyJbXSIsIjY2NGFiY2JiYzY3MmNmZTRlNTIwZTkwMGI1NTA1ODcwIl0=' /> <input type='hidden' autocomplete='off' class='gform_hidden' name='gform_target_page_number_5' id='gform_target_page_number_5' value='0' /> <input type='hidden' autocomplete='off' class='gform_hidden' name='gform_source_page_number_5' id='gform_source_page_number_5' value='1' /> <input type='hidden' name='gform_field_values' value='' /> </div> </form> </div><script> gform.initializeOnLoaded( function() {gformInitSpinner( 5, 'https://www.controleng.com/wp-content/plugins/gravityforms/images/spinner.svg', true );jQuery('#gform_ajax_frame_5').on('load',function(){var contents = jQuery(this).contents().find('*').html();var is_postback = contents.indexOf('GF_AJAX_POSTBACK') >= 0;if(!is_postback){return;}var form_content = jQuery(this).contents().find('#gform_wrapper_5');var is_confirmation = jQuery(this).contents().find('#gform_confirmation_wrapper_5').length > 0;var is_redirect = contents.indexOf('gformRedirect(){') >= 0;var is_form = form_content.length > 0 && ! is_redirect && ! is_confirmation;var mt = parseInt(jQuery('html').css('margin-top'), 10) + parseInt(jQuery('body').css('margin-top'), 10) + 100;if(is_form){jQuery('#gform_wrapper_5').html(form_content.html());if(form_content.hasClass('gform_validation_error')){jQuery('#gform_wrapper_5').addClass('gform_validation_error');} else {jQuery('#gform_wrapper_5').removeClass('gform_validation_error');}setTimeout( function() { /* delay the scroll by 50 milliseconds to fix a bug in chrome */ }, 50 );if(window['gformInitDatepicker']) {gformInitDatepicker();}if(window['gformInitPriceFields']) {gformInitPriceFields();}var current_page = jQuery('#gform_source_page_number_5').val();gformInitSpinner( 5, 'https://www.controleng.com/wp-content/plugins/gravityforms/images/spinner.svg', true );jQuery(document).trigger('gform_page_loaded', [5, current_page]);window['gf_submitting_5'] = false;}else if(!is_redirect){var confirmation_content = jQuery(this).contents().find('.GF_AJAX_POSTBACK').html();if(!confirmation_content){confirmation_content = contents;}jQuery('#gform_wrapper_5').replaceWith(confirmation_content);jQuery(document).trigger('gform_confirmation_loaded', [5]);window['gf_submitting_5'] = false;wp.a11y.speak(jQuery('#gform_confirmation_message_5').text());}else{jQuery('#gform_5').append(contents);if(window['gformRedirect']) {gformRedirect();}}jQuery(document).trigger("gform_pre_post_render", [{ formId: "5", currentPage: "current_page", abort: function() { this.preventDefault(); } }]); if (event && event.defaultPrevented) { return; } const gformWrapperDiv = document.getElementById( "gform_wrapper_5" ); if ( gformWrapperDiv ) { const visibilitySpan = document.createElement( "span" ); visibilitySpan.id = "gform_visibility_test_5"; gformWrapperDiv.insertAdjacentElement( "afterend", visibilitySpan ); } const visibilityTestDiv = document.getElementById( "gform_visibility_test_5" ); let postRenderFired = false; function triggerPostRender() { if ( postRenderFired ) { return; } postRenderFired = true; gform.core.triggerPostRenderEvents( 5, current_page ); if ( visibilityTestDiv ) { visibilityTestDiv.parentNode.removeChild( visibilityTestDiv ); } } function debounce( func, wait, immediate ) { var timeout; return function() { var context = this, args = arguments; var later = function() { timeout = null; if ( !immediate ) func.apply( context, args ); }; var callNow = immediate && !timeout; clearTimeout( timeout ); timeout = setTimeout( later, wait ); if ( callNow ) func.apply( context, args ); }; } const debouncedTriggerPostRender = debounce( function() { triggerPostRender(); }, 200 ); if ( visibilityTestDiv && visibilityTestDiv.offsetParent === null ) { const observer = new MutationObserver( ( mutations ) => { mutations.forEach( ( mutation ) => { if ( mutation.type === 'attributes' && visibilityTestDiv.offsetParent !== null ) { debouncedTriggerPostRender(); observer.disconnect(); } }); }); observer.observe( document.body, { attributes: true, childList: false, subtree: true, attributeFilter: [ 'style', 'class' ], }); } else { triggerPostRender(); } } );} ); </script> </div> </div> <div id="media-space-block_801756c8c3621fcfc2619bd024f75f07" class="acf-block block-adspace type-global layout-default"> <span> <div id='div-gpt-controleng_sidebarbottom'> <script> googletag.cmd.push(function() { googletag.display('div-gpt-controleng_sidebarbottom'); }); </script> </div> </span> </div> <div id="div-gpt-controleng_sidebarbottom_skyscraper"> <script> googletag.cmd.push(function() { googletag.display("div-gpt-controleng_sidebarbottom_skyscraper"); }); </script> </div> </div> <div class="sidebar-adspace-bottom-1"> <span> <div id='div-gpt_controleng_boombox_1'> <script> googletag.cmd.push(function() { googletag.display('div-gpt-controleng_boombox_1'); }); </script> </div> </span> </div> <div class="sidebar-adspace-bottom-2"> <span> <div id='div-gpt-controleng_skyscraper_2'> <script> googletag.cmd.push(function() { googletag.display('div-gpt-controleng_skyscraper_2'); }); </script> </div> </span> </div> </aside> </div> </div> <div class="category-archive-related-cats"> <div class="category-archive-related-cats__inner"> <div class="wp-block-group is-horizontal is-content-justification-space-between is-layout-flex wp-container-core-group-layout-1 wp-block-group-is-layout-flex" style="margin-bottom:40px"> <h2 class="wp-block-heading"> related topics </h2> </div> <div class="category-archive-related-cats__cats"> <a class="category-archive-related-cats__cat" href="https://www.controleng.com/mechatronics/discrete-manufacturing/" aria-label="Discrete Manufacturing"> <span class="category-archive-related-cats__cat-text"> Discrete Manufacturing </span> <span class="category-archive-related-cats__cat-icon"> <img src="https://www.controleng.com/wp-content/themes/mw-controleng-theme/assets/images/icons/e-icon-arrow-right-fallback.svg" alt="Discrete Manufacturing Category Icon"> </span> </a> <a class="category-archive-related-cats__cat" href="https://www.controleng.com/mechatronics/machine-safety/" aria-label="Machine Safety"> <span class="category-archive-related-cats__cat-text"> Machine Safety </span> <span class="category-archive-related-cats__cat-icon"> <img src="https://www.controleng.com/wp-content/themes/mw-controleng-theme/assets/images/icons/e-icon-arrow-right-fallback.svg" alt="Machine Safety Category Icon"> </span> </a> <a class="category-archive-related-cats__cat" href="https://www.controleng.com/mechatronics/robotics/" aria-label="Robotics"> <span class="category-archive-related-cats__cat-text"> Robotics </span> <span class="category-archive-related-cats__cat-icon"> <img src="https://www.controleng.com/wp-content/themes/mw-controleng-theme/assets/images/icons/e-icon-arrow-right-fallback.svg" alt="Robotics Category Icon"> </span> </a> <a class="category-archive-related-cats__cat" href="https://www.controleng.com/mechatronics/vision-and-discrete-sensors/" aria-label="Vision and Discrete Sensors"> <span class="category-archive-related-cats__cat-text"> Vision and Discrete Sensors </span> <span class="category-archive-related-cats__cat-icon"> <img src="https://www.controleng.com/wp-content/themes/mw-controleng-theme/assets/images/icons/e-icon-arrow-right-fallback.svg" alt="Vision and Discrete Sensors Category Icon"> </span> </a> </div> </div> </div> <div class="single-related-posts"> <h2>you might also like</h2> <div class="loop-wrapper"> <article class="loop-item"> <div class="loop-item__thumbnail"> <a href="https://www.controleng.com/3-benefits-of-new-digital-machine-shop-at-imts-2024/" tabindex="-1"> <img width="400" height="225" src="https://www.controleng.com/wp-content/uploads/2024/11/CTL2409_WEB_IMTS_Siemens-booth-Fig1-MACHINUM-graphic-1-scaled-e1726762674203-400x225.jpg" class="attachment-e-thubmnail size-e-thubmnail wp-post-image" alt="Courtesy: Siemens" decoding="async" loading="lazy" /> </a> </div> <div class="loop-item__content"> <div class="loop-item__categories"><p class="has-font-size-1-font-size"><a href="https://www.controleng.com/mechatronics/" class="loop-item__categories-link has-inline-color">Mechatronics and Motion Control</a></p></div> <h3 class="loop-item__title has-font-size-7-font-size"> <a href="https://www.controleng.com/3-benefits-of-new-digital-machine-shop-at-imts-2024/"> 3 benefits of new digital machine shop at IMTS 2024 </a> </h3> </div> </article> <article class="loop-item"> <div class="loop-item__thumbnail"> <a href="https://www.controleng.com/how-oems-use-cartesian-systems-to-improve-control-systems/" tabindex="-1"> <img width="400" height="225" src="https://www.controleng.com/wp-content/uploads/2024/11/CTL2410_MAG2_IM_MECHATRONICS_BoschRexroth-CartesianSystems-1-400x225.jpg" class="attachment-e-thubmnail size-e-thubmnail wp-post-image" alt="Modern Cartesian systems are equipped with Internet of Things (IoT) sensors and connectivity features and can provide real-time monitoring and data collection for users. Courtesy: Bosch Rexroth" decoding="async" loading="lazy" /> </a> </div> <div class="loop-item__content"> <div class="loop-item__categories"><p class="has-font-size-1-font-size"><a href="https://www.controleng.com/mechatronics/" class="loop-item__categories-link has-inline-color">Mechatronics and Motion Control</a></p></div> <h3 class="loop-item__title has-font-size-7-font-size"> <a href="https://www.controleng.com/how-oems-use-cartesian-systems-to-improve-control-systems/"> How OEMs use Cartesian systems to improve control systems </a> </h3> </div> </article> <article class="loop-item"> <div class="loop-item__thumbnail"> <a href="https://www.controleng.com/spectacular-performers-fly-with-motion-controls-stem-not-cgi/" tabindex="-1"> <img width="400" height="225" src="https://www.controleng.com/wp-content/uploads/2024/11/CTL2406_MAG2_F4e_WORKFORCEDEV-STEM-for-Theater-NIU-Fig3-eagle-flies-over-audience-Vertigo-Slider-400x225.jpeg" class="attachment-e-thubmnail size-e-thubmnail wp-post-image" alt="" decoding="async" loading="lazy" /> </a> </div> <div class="loop-item__content"> <div class="loop-item__categories"><p class="has-font-size-1-font-size"><a href="https://www.controleng.com/mechatronics/" class="loop-item__categories-link has-inline-color">Mechatronics and Motion Control</a></p></div> <h3 class="loop-item__title has-font-size-7-font-size"> <a href="https://www.controleng.com/spectacular-performers-fly-with-motion-controls-stem-not-cgi/"> Spectacular performers fly with motion controls, STEM, not CGI </a> </h3> </div> </article> <article class="loop-item"> <div class="loop-item__thumbnail"> <a href="https://www.controleng.com/make-exponential-gains-now-automation-i-o-mechatronics/" tabindex="-1"> <img width="400" height="225" src="https://www.controleng.com/wp-content/uploads/2024/11/CTL2406_MAG2_IMG_Beckhoff_Fig3-Slider-400x225.jpg" class="attachment-e-thubmnail size-e-thubmnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://www.controleng.com/wp-content/uploads/2024/11/CTL2406_MAG2_IMG_Beckhoff_Fig3-Slider-400x225.jpg 400w, https://www.controleng.com/wp-content/uploads/2024/11/CTL2406_MAG2_IMG_Beckhoff_Fig3-Slider-900x506.jpg 900w" sizes="auto, (max-width: 400px) 100vw, 400px" /> </a> </div> <div class="loop-item__content"> <div class="loop-item__categories"><p class="has-font-size-1-font-size"><a href="https://www.controleng.com/mechatronics/" class="loop-item__categories-link has-inline-color">Mechatronics and Motion Control</a></p></div> <h3 class="loop-item__title has-font-size-7-font-size"> <a href="https://www.controleng.com/make-exponential-gains-now-automation-i-o-mechatronics/"> Make exponential gains now: Automation, I/O, mechatronics </a> </h3> </div> </article> </div> </div> <div class="block-area block-area-before-footer"> <div id="media-space-block_34172bc37939b86a5b009d35918c5a2c" class="acf-block block-adspace type-custom-script layout-default"> <span> <center><div id='div-gpt-controleng_largeleader_bottom'> <script> googletag.cmd.push(function() { googletag.display('div-gpt-controleng_largeleader_bottom'); }); </script> </div></center> </span> </div> <div id="block-7c87c559b1c1f7242408b846f145e140" class="acf-block block-email-subscribe above-footer-cta" style="margin-top:80px;margin-bottom:0px;"> <div class="block-email-subscribe__innerBlocks acf-inner-blocks-container"> <div class="wp-block-group has-global-padding is-layout-constrained wp-container-core-group-is-layout-ebbf4722 wp-block-group-is-layout-constrained" style="padding-top:0;padding-right:0;padding-bottom:0;padding-left:0"> <p class="has-secondary-color has-text-color has-secondary-font-font-family has-font-size-4-font-size" style="font-weight:800;text-transform:uppercase">Stay in the know</p> <h2 class="wp-block-heading">Get the newsletter</h2> </div> </div> <img decoding="async" class="block-email-subscribe__icon" src="https://www.controleng.com/wp-content/themes/mw-controleng-theme/assets/images/icons/e-icon-newsletter.svg" width="160px" height="160px" alt="ControlEngineering.com Newsletter Icon"> <div class="block-email-subscribe__form"> <div class='gf_browser_gecko gform_wrapper gravity-theme gform-theme--no-framework styled-labels_wrapper' data-form-theme='gravity-theme' data-form-index='0' id='gform_wrapper_8' ><form method='post' enctype='multipart/form-data' id='gform_8' class='styled-labels' action='/smart-camera-system-for-vision-guided-robotics/' data-formid='8' novalidate> <input type='hidden' class='gforms-pum' value='{"closepopup":false,"closedelay":0,"openpopup":false,"openpopup_id":0}' /> <div class='gform-body gform_body'><div id='gform_fields_8' class='gform_fields top_label form_sublabel_below description_below validation_below'><div id="field_8_6" class="gfield gfield--type-text gfield--input-type-text gfield--width-full field_sublabel_below gfield--no-description field_description_below field_validation_below gfield_visibility_hidden gfield_text_wrap" data-field-class="gfield_text_wrap" ><div class="admin-hidden-markup"><i class="gform-icon gform-icon--hidden" aria-hidden="true" title="This field is hidden when viewing the form"></i><span>This field is hidden when viewing the form</span></div><label class='gfield_label gform-field-label' for='input_8_6'>Category</label><div class='ginput_container ginput_container_text'><input name='input_6' id='input_8_6' type='text' value='' class='large' aria-invalid="false" /></div></div><div id="field_8_3" class="gfield gfield--type-text gfield--input-type-text gfield--width-full field_sublabel_below gfield--no-description field_description_below field_validation_below gfield_visibility_hidden gfield_text_wrap" data-field-class="gfield_text_wrap" ><div class="admin-hidden-markup"><i class="gform-icon gform-icon--hidden" aria-hidden="true" title="This field is hidden when viewing the form"></i><span>This field is hidden when viewing the form</span></div><label class='gfield_label gform-field-label' for='input_8_3'>Submission URL</label><div class='ginput_container ginput_container_text'><input name='input_3' id='input_8_3' type='text' value='https://www.controleng.com/smart-camera-system-for-vision-guided-robotics/' class='large' aria-invalid="false" /></div></div><div id="field_8_1" class="gfield gfield--type-email gfield--input-type-email gfield--width-full gfield_contains_required field_sublabel_below gfield--no-description field_description_below hidden_label field_validation_below gfield_visibility_visible gfield_email_wrap" data-field-class="gfield_email_wrap" ><label class='gfield_label gform-field-label' for='input_8_1'>Email<span class="gfield_required"><span class="gfield_required gfield_required_text">(Required)</span></span></label><div class='ginput_container ginput_container_email'> <input name='input_1' id='input_8_1' type='email' value='' class='large' placeholder='Email Address' aria-required="true" aria-invalid="false" /> </div></div><div id="field_8_7" class="gfield gfield--type-captcha gfield--input-type-captcha gfield--width-full field_sublabel_below gfield--no-description field_description_below hidden_label field_validation_below gfield_visibility_visible gfield_captcha_wrap" data-field-class="gfield_captcha_wrap" ><label class='gfield_label gform-field-label' for='input_8_7'>CAPTCHA</label><div id='input_8_7' class='ginput_container ginput_recaptcha' data-sitekey='6Lcb0DIqAAAAAPw0QBgafvlbxJ4vNo5Esft6RtMD' data-theme='light' data-tabindex='0' data-badge=''></div></div><div id="field_submit" class="gfield gfield--type-submit gfield--width-full field_sublabel_below gfield--no-description field_description_below field_validation_below gfield_visibility_visible gfield_submit_wrap" data-field-class="gform_editor_submit_container" data-field-position="inline" ><button type="submit" id="gform_submit_button_8" class="gform-button gform-button--white button" onclick="gform.submission.handleButtonClick(this);" data-submission-type="submit">Submit</button></div><div id="field_8_8" class="gfield gfield--type-honeypot gform_validation_container field_sublabel_below gfield--has-description field_description_below field_validation_below gfield_visibility_visible gfield_honeypot_wrap" data-field-class="gfield_honeypot_wrap" ><label class='gfield_label gform-field-label' for='input_8_8'>Email</label><div class='ginput_container'><input name='input_8' id='input_8_8' type='text' value='' autocomplete='new-password'/></div><div class='gfield_description' id='gfield_description_8_8'>This field is for validation purposes and should be left unchanged.</div></div></div></div> <div class='gform-footer gform_footer top_label'> <input type='hidden' class='gform_hidden' name='gform_submission_method' data-js='gform_submission_method_8' value='postback' /> <input type='hidden' class='gform_hidden' name='gform_theme' data-js='gform_theme_8' id='gform_theme_8' value='gravity-theme' /> <input type='hidden' class='gform_hidden' name='gform_style_settings' data-js='gform_style_settings_8' id='gform_style_settings_8' value='' /> <input type='hidden' class='gform_hidden' name='is_submit_8' value='1' /> <input type='hidden' class='gform_hidden' name='gform_submit' value='8' /> <input type='hidden' class='gform_hidden' name='gform_unique_id' value='' /> <input type='hidden' class='gform_hidden' name='state_8' value='WyJbXSIsIjY2NGFiY2JiYzY3MmNmZTRlNTIwZTkwMGI1NTA1ODcwIl0=' /> <input type='hidden' autocomplete='off' class='gform_hidden' name='gform_target_page_number_8' id='gform_target_page_number_8' value='0' /> <input type='hidden' autocomplete='off' class='gform_hidden' name='gform_source_page_number_8' id='gform_source_page_number_8' value='1' /> <input type='hidden' name='gform_field_values' value='' /> </div> </form> </div><script> gform.initializeOnLoaded( function() {gformInitSpinner( 8, 'https://www.controleng.com/wp-content/plugins/gravityforms/images/spinner.svg', true );jQuery('#gform_ajax_frame_8').on('load',function(){var contents = jQuery(this).contents().find('*').html();var is_postback = contents.indexOf('GF_AJAX_POSTBACK') >= 0;if(!is_postback){return;}var form_content = jQuery(this).contents().find('#gform_wrapper_8');var is_confirmation = jQuery(this).contents().find('#gform_confirmation_wrapper_8').length > 0;var is_redirect = contents.indexOf('gformRedirect(){') >= 0;var is_form = form_content.length > 0 && ! is_redirect && ! is_confirmation;var mt = parseInt(jQuery('html').css('margin-top'), 10) + parseInt(jQuery('body').css('margin-top'), 10) + 100;if(is_form){jQuery('#gform_wrapper_8').html(form_content.html());if(form_content.hasClass('gform_validation_error')){jQuery('#gform_wrapper_8').addClass('gform_validation_error');} else {jQuery('#gform_wrapper_8').removeClass('gform_validation_error');}setTimeout( function() { /* delay the scroll by 50 milliseconds to fix a bug in chrome */ }, 50 );if(window['gformInitDatepicker']) {gformInitDatepicker();}if(window['gformInitPriceFields']) {gformInitPriceFields();}var current_page = jQuery('#gform_source_page_number_8').val();gformInitSpinner( 8, 'https://www.controleng.com/wp-content/plugins/gravityforms/images/spinner.svg', true );jQuery(document).trigger('gform_page_loaded', [8, current_page]);window['gf_submitting_8'] = false;}else if(!is_redirect){var confirmation_content = jQuery(this).contents().find('.GF_AJAX_POSTBACK').html();if(!confirmation_content){confirmation_content = contents;}jQuery('#gform_wrapper_8').replaceWith(confirmation_content);jQuery(document).trigger('gform_confirmation_loaded', [8]);window['gf_submitting_8'] = false;wp.a11y.speak(jQuery('#gform_confirmation_message_8').text());}else{jQuery('#gform_8').append(contents);if(window['gformRedirect']) {gformRedirect();}}jQuery(document).trigger("gform_pre_post_render", [{ formId: "8", currentPage: "current_page", abort: function() { this.preventDefault(); } }]); if (event && event.defaultPrevented) { return; } const gformWrapperDiv = document.getElementById( "gform_wrapper_8" ); if ( gformWrapperDiv ) { const visibilitySpan = document.createElement( "span" ); visibilitySpan.id = "gform_visibility_test_8"; gformWrapperDiv.insertAdjacentElement( "afterend", visibilitySpan ); } const visibilityTestDiv = document.getElementById( "gform_visibility_test_8" ); let postRenderFired = false; function triggerPostRender() { if ( postRenderFired ) { return; } postRenderFired = true; gform.core.triggerPostRenderEvents( 8, current_page ); if ( visibilityTestDiv ) { visibilityTestDiv.parentNode.removeChild( visibilityTestDiv ); } } function debounce( func, wait, immediate ) { var timeout; return function() { var context = this, args = arguments; var later = function() { timeout = null; if ( !immediate ) func.apply( context, args ); }; var callNow = immediate && !timeout; clearTimeout( timeout ); timeout = setTimeout( later, wait ); if ( callNow ) func.apply( context, args ); }; } const debouncedTriggerPostRender = debounce( function() { triggerPostRender(); }, 200 ); if ( visibilityTestDiv && visibilityTestDiv.offsetParent === null ) { const observer = new MutationObserver( ( mutations ) => { mutations.forEach( ( mutation ) => { if ( mutation.type === 'attributes' && visibilityTestDiv.offsetParent !== null ) { debouncedTriggerPostRender(); observer.disconnect(); } }); }); observer.observe( document.body, { attributes: true, childList: false, subtree: true, attributeFilter: [ 'style', 'class' ], }); } else { triggerPostRender(); } } );} ); </script> </div> </div> <div id="media-space-block_778aea2a08a1e01f8987e47e0fea0f3a" class="acf-block block-adspace type-custom-script layout-default"> <span> <center><div id='div-gpt-controleng_header'> <script> googletag.cmd.push(function() { googletag.display('div-gpt-controleng_header'); }); </script> </div></center> </span> </div> </div> <footer class="site-footer" role="contentinfo"> <div class="wrap"> <div class="site-footer__top"> <div class="site-footer__menu-wrap"> <svg class="site-footer__menu-wrap-angle site-footer__menu-wrap-angle--start" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 7 33" width="7" height="32"><path fill="#008AD8" d="M5.915.25 0 32.25h1.085L7 .25H5.915Z"/></svg> <div class="footer-menu-wrap"><ul id="menu-footer-navigation" class="menu menu--footer"><li id="menu-item-70025" class="menu-item"><a href="https://www.controleng.com/about/"><span>About</span></a></li> <li id="menu-item-70085" class="menu-item"><a href="/about/advertise-with-us/"><span>Advertise</span></a></li> <li id="menu-item-130784" class="menu-item"><a target="_blank" href="https://marketing.wtwhmedia.com/contact-wtwh-media/"><span>Contact</span></a></li> <li id="menu-item-128811" class="menu-item"><a href="/advisory-board/"><span>Advisory Board</span></a></li> <li id="menu-item-129658" class="menu-item"><a href="https://www.controleng.com/contribute-to-control-engineering/"><span>Contribute</span></a></li> </ul></div> <svg class="site-footer__menu-wrap-angle site-footer__menu-wrap-angle--end" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 7 33" width="7" height="32"><path fill="#008AD8" d="M5.915.25 0 32.25h1.085L7 .25H5.915Z"/></svg> </div> <div class="social-media social-media__footer"> <div class="social-media__links"> <a class="social-media__link" href="https://www.facebook.com/ControlEngineeringMagazine" target="_blank" rel="noopener noreferrer" aria-label="Facebook"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512" width="16px" height="16px"><path d="M279.14 288l14.22-92.66h-88.91v-60.13c0-25.35 12.42-50.06 52.24-50.06h40.42V6.26S260.43 0 225.36 0c-73.22 0-121.08 44.38-121.08 124.72v70.62H22.89V288h81.39v224h100.17V288z"/></svg></a> <a class="social-media__link" href="https://twitter.com/controlengtips" target="_blank" rel="noopener noreferrer" aria-label="Twitter X"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" width="16px" height="16px"><path d="M389.2 48h70.6L305.6 224.2 487 464H345L233.7 318.6 106.5 464H35.8L200.7 275.5 26.8 48H172.4L272.9 180.9 389.2 48zM364.4 421.8h39.1L151.1 88h-42L364.4 421.8z"/></svg></a> <a class="social-media__link" href="https://www.linkedin.com/company/control-engineering-magazine/" target="_blank" rel="noopener noreferrer" aria-label="LinkedIn"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512" width="16px" height="16px"><path d="M416 32H31.9C14.3 32 0 46.5 0 64.3v383.4C0 465.5 14.3 480 31.9 480H416c17.6 0 32-14.5 32-32.3V64.3c0-17.8-14.4-32.3-32-32.3zM135.4 416H69V202.2h66.5V416zm-33.2-243c-21.3 0-38.5-17.3-38.5-38.5S80.9 96 102.2 96c21.2 0 38.5 17.3 38.5 38.5 0 21.3-17.2 38.5-38.5 38.5zm282.1 243h-66.4V312c0-24.8-.5-56.7-34.5-56.7-34.6 0-39.9 27-39.9 54.9V416h-66.4V202.2h63.7v29.2h.9c8.9-16.8 30.6-34.5 62.9-34.5 67.2 0 79.7 44.3 79.7 101.9V416z"/></svg></a> </div> </div> </div> <div class="site-footer__network-links"> <span class="site-footer__network-links-header"> Part of the DesignWorld and Industrial Automation Network </span> <div class="site-footer__network-links-list"> <a class="site-footer__network-links-list-item" href="https://www.automatedwarehouseonline.com/" target="_blank" rel="noopener noreferrer"> <span class="site-footer__network-links-list-item-primary-text"> Automated Warehouse </span> <span class="site-footer__network-links-list-item-secondary-text"> automatedwarehouseonline.com </span> <svg class="site-footer__network-links-arrow" width="11" height="17" viewBox="0 0 11 17" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M8.39233e-07 16.0249L11 8.0249L0 0.0249023L8.39233e-07 16.0249Z" fill="#008AD8"/><path d="M0 16.0249L11 8.0249H0V16.0249Z" fill="#364867" fill-opacity="0.2"/></svg> </a> <a class="site-footer__network-links-list-item" href="https://www.csemag.com/" target="_blank" rel="noopener noreferrer"> <span class="site-footer__network-links-list-item-primary-text"> Consulting-Specifying Engineer </span> <span class="site-footer__network-links-list-item-secondary-text"> csemag.com </span> <svg class="site-footer__network-links-arrow" width="11" height="17" viewBox="0 0 11 17" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M8.39233e-07 16.0249L11 8.0249L0 0.0249023L8.39233e-07 16.0249Z" fill="#008AD8"/><path d="M0 16.0249L11 8.0249H0V16.0249Z" fill="#364867" fill-opacity="0.2"/></svg> </a> <a class="site-footer__network-links-list-item" href="https://www.designworldonline.com" target="_blank" rel="noopener noreferrer"> <span class="site-footer__network-links-list-item-primary-text"> DesignWorld </span> <span class="site-footer__network-links-list-item-secondary-text"> designworldonline.com </span> <svg class="site-footer__network-links-arrow" width="11" height="17" viewBox="0 0 11 17" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M8.39233e-07 16.0249L11 8.0249L0 0.0249023L8.39233e-07 16.0249Z" fill="#008AD8"/><path d="M0 16.0249L11 8.0249H0V16.0249Z" fill="#364867" fill-opacity="0.2"/></svg> </a> <a class="site-footer__network-links-list-item" href="https://www.engineering.com" target="_blank" rel="noopener noreferrer"> <span class="site-footer__network-links-list-item-primary-text"> Engineering.com </span> <span class="site-footer__network-links-list-item-secondary-text"> engineering.com </span> <svg class="site-footer__network-links-arrow" width="11" height="17" viewBox="0 0 11 17" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M8.39233e-07 16.0249L11 8.0249L0 0.0249023L8.39233e-07 16.0249Z" fill="#008AD8"/><path d="M0 16.0249L11 8.0249H0V16.0249Z" fill="#364867" fill-opacity="0.2"/></svg> </a> <a class="site-footer__network-links-list-item" href="https://www.eng-tips.com/" target="_blank" rel="noopener noreferrer"> <span class="site-footer__network-links-list-item-primary-text"> Eng-Tips </span> <span class="site-footer__network-links-list-item-secondary-text"> eng-tips.com </span> <svg class="site-footer__network-links-arrow" width="11" height="17" viewBox="0 0 11 17" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M8.39233e-07 16.0249L11 8.0249L0 0.0249023L8.39233e-07 16.0249Z" fill="#008AD8"/><path d="M0 16.0249L11 8.0249H0V16.0249Z" fill="#364867" fill-opacity="0.2"/></svg> </a> <a class="site-footer__network-links-list-item" href="https://www.tek-tips.com/" target="_blank" rel="noopener noreferrer"> <span class="site-footer__network-links-list-item-primary-text"> Tek-Tips </span> <span class="site-footer__network-links-list-item-secondary-text"> tek-tips.com </span> <svg class="site-footer__network-links-arrow" width="11" height="17" viewBox="0 0 11 17" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M8.39233e-07 16.0249L11 8.0249L0 0.0249023L8.39233e-07 16.0249Z" fill="#008AD8"/><path d="M0 16.0249L11 8.0249H0V16.0249Z" fill="#364867" fill-opacity="0.2"/></svg> </a> <a class="site-footer__network-links-list-item" href="https://www.bearingtips.com/" target="_blank" rel="noopener noreferrer"> <span class="site-footer__network-links-list-item-primary-text"> Bearing Tips </span> <span class="site-footer__network-links-list-item-secondary-text"> bearingtips.com </span> <svg class="site-footer__network-links-arrow" width="11" height="17" viewBox="0 0 11 17" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M8.39233e-07 16.0249L11 8.0249L0 0.0249023L8.39233e-07 16.0249Z" fill="#008AD8"/><path d="M0 16.0249L11 8.0249H0V16.0249Z" fill="#364867" fill-opacity="0.2"/></svg> </a> <a class="site-footer__network-links-list-item" href="https://www.couplingtips.com/" target="_blank" rel="noopener noreferrer"> <span class="site-footer__network-links-list-item-primary-text"> Coupling Tips </span> <span class="site-footer__network-links-list-item-secondary-text"> couplingtips.com </span> <svg class="site-footer__network-links-arrow" width="11" height="17" viewBox="0 0 11 17" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M8.39233e-07 16.0249L11 8.0249L0 0.0249023L8.39233e-07 16.0249Z" fill="#008AD8"/><path d="M0 16.0249L11 8.0249H0V16.0249Z" fill="#364867" fill-opacity="0.2"/></svg> </a> <a class="site-footer__network-links-list-item" href="https://www.linearmotiontips.com/" target="_blank" rel="noopener noreferrer"> <span class="site-footer__network-links-list-item-primary-text"> Linear Motion Tips </span> <span class="site-footer__network-links-list-item-secondary-text"> linearmotiontips.com </span> <svg class="site-footer__network-links-arrow" width="11" height="17" viewBox="0 0 11 17" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M8.39233e-07 16.0249L11 8.0249L0 0.0249023L8.39233e-07 16.0249Z" fill="#008AD8"/><path d="M0 16.0249L11 8.0249H0V16.0249Z" fill="#364867" fill-opacity="0.2"/></svg> </a> <a class="site-footer__network-links-list-item" href="https://www.motioncontroltips.com/" target="_blank" rel="noopener noreferrer"> <span class="site-footer__network-links-list-item-primary-text"> Motion Control tips </span> <span class="site-footer__network-links-list-item-secondary-text"> motioncontroltips.com </span> <svg class="site-footer__network-links-arrow" width="11" height="17" viewBox="0 0 11 17" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M8.39233e-07 16.0249L11 8.0249L0 0.0249023L8.39233e-07 16.0249Z" fill="#008AD8"/><path d="M0 16.0249L11 8.0249H0V16.0249Z" fill="#364867" fill-opacity="0.2"/></svg> </a> <a class="site-footer__network-links-list-item" href="https://www.packagingoem.com/" target="_blank" rel="noopener noreferrer"> <span class="site-footer__network-links-list-item-primary-text"> Packaging OEM </span> <span class="site-footer__network-links-list-item-secondary-text"> packagingoem.com </span> <svg class="site-footer__network-links-arrow" width="11" height="17" viewBox="0 0 11 17" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M8.39233e-07 16.0249L11 8.0249L0 0.0249023L8.39233e-07 16.0249Z" fill="#008AD8"/><path d="M0 16.0249L11 8.0249H0V16.0249Z" fill="#364867" fill-opacity="0.2"/></svg> </a> <a class="site-footer__network-links-list-item" href="https://www.plantengineering.com/" target="_blank" rel="noopener noreferrer"> <span class="site-footer__network-links-list-item-primary-text"> Plant Engineering </span> <span class="site-footer__network-links-list-item-secondary-text"> plantengineering.com </span> <svg class="site-footer__network-links-arrow" width="11" height="17" viewBox="0 0 11 17" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M8.39233e-07 16.0249L11 8.0249L0 0.0249023L8.39233e-07 16.0249Z" fill="#008AD8"/><path d="M0 16.0249L11 8.0249H0V16.0249Z" fill="#364867" fill-opacity="0.2"/></svg> </a> <a class="site-footer__network-links-list-item" href="https://www.therobotreport.com/" target="_blank" rel="noopener noreferrer"> <span class="site-footer__network-links-list-item-primary-text"> The Robot Report </span> <span class="site-footer__network-links-list-item-secondary-text"> therobotreport.com </span> <svg class="site-footer__network-links-arrow" width="11" height="17" viewBox="0 0 11 17" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M8.39233e-07 16.0249L11 8.0249L0 0.0249023L8.39233e-07 16.0249Z" fill="#008AD8"/><path d="M0 16.0249L11 8.0249H0V16.0249Z" fill="#364867" fill-opacity="0.2"/></svg> </a> <a class="site-footer__network-links-list-item" href="https://www.3dcadforums.com/" target="_blank" rel="noopener noreferrer"> <span class="site-footer__network-links-list-item-primary-text"> 3d CAD forums </span> <span class="site-footer__network-links-list-item-secondary-text"> 3dcadforums.com </span> <svg class="site-footer__network-links-arrow" width="11" height="17" viewBox="0 0 11 17" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M8.39233e-07 16.0249L11 8.0249L0 0.0249023L8.39233e-07 16.0249Z" fill="#008AD8"/><path d="M0 16.0249L11 8.0249H0V16.0249Z" fill="#364867" fill-opacity="0.2"/></svg> </a> <a class="site-footer__network-links-list-item" href="https://www.wireandcabletips.com/" target="_blank" rel="noopener noreferrer"> <span class="site-footer__network-links-list-item-primary-text"> Wire and Cable Tips </span> <span class="site-footer__network-links-list-item-secondary-text"> wireandcabletips.com </span> <svg class="site-footer__network-links-arrow" width="11" height="17" viewBox="0 0 11 17" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M8.39233e-07 16.0249L11 8.0249L0 0.0249023L8.39233e-07 16.0249Z" fill="#008AD8"/><path d="M0 16.0249L11 8.0249H0V16.0249Z" fill="#364867" fill-opacity="0.2"/></svg> </a> </div> </div> <div class="site-footer__bottom"> <div class="site-footer__copyright"> <p> © 2025 WTWH Media, LLC. All rights reserved. </p> </div> <div class="footer-privacy-menu-wrap"><ul id="menu-footer-privacy" class="menu menu--footer-privacy"><li id="menu-item-70090" class="menu-item"><a href="https://www.wtwhmedia.com/privacy-policy/"><span>Privacy Policy</span></a></li> <li id="menu-item-70091" class="menu-item"><a href="https://www.wtwhmedia.com/terms-and-conditions/"><span>Terms & Conditions</span></a></li> </ul></div> </div> </div> </footer> </div> <script type="speculationrules"> {"prefetch":[{"source":"document","where":{"and":[{"href_matches":"\/*"},{"not":{"href_matches":["\/wp-*.php","\/wp-admin\/*","\/wp-content\/uploads\/*","\/wp-content\/*","\/wp-content\/plugins\/*","\/wp-content\/themes\/mw-controleng-theme\/*","\/*\\?(.+)"]}},{"not":{"selector_matches":"a[rel~=\"nofollow\"]"}},{"not":{"selector_matches":".no-prefetch, .no-prefetch a"}}]},"eagerness":"conservative"}]} </script> <script> function isOldIOSDevice() { const userAgent = navigator.userAgent || navigator.vendor || window.opera; // Check if it's an iOS device const isIOS = /iPad|iPhone|iPod/.test(userAgent) && !window.MSStream; if (!isIOS) return false; // Extract iOS version from userAgent const match = userAgent.match(/OS (\d+)_/); if (match && match.length > 1) { const majorVersion = parseInt(match[1], 10); // Example: Consider iOS 12 and below as old return majorVersion <= 12; } // If version not found, assume not old return false; } if (isOldIOSDevice()) { document.addEventListener('DOMContentLoaded', function() { setTimeout(() => { document.querySelectorAll('audio:not(.plyr audio)').forEach(function(audio, index) { audio.setAttribute('controls', '') }); }, 3000); }); } // ios old devices </script> <svg width="0" height="0" class="h5ap_svg_hidden" style="display: none;"> <symbol xmlns="http://www.w3.org/2000/svg" viewBox="0 0 511.997 511.997" id="exchange"> <path d="M467.938 87.164L387.063 5.652c-7.438-7.495-19.531-7.54-27.02-.108s-7.54 19.525-.108 27.014l67.471 68.006-67.42 67.42c-7.464 7.457-7.464 19.557 0 27.014 3.732 3.732 8.616 5.598 13.507 5.598s9.781-1.866 13.513-5.591l80.876-80.876c7.443-7.44 7.463-19.495.056-26.965z"></path> <path d="M455.005 81.509H56.995c-10.552 0-19.104 8.552-19.104 19.104v147.741c0 10.552 8.552 19.104 19.104 19.104s19.104-8.552 19.104-19.104V119.718h378.905c10.552 0 19.104-8.552 19.104-19.104.001-10.552-8.551-19.105-19.103-19.105zM83.964 411.431l67.42-67.413c7.457-7.457 7.464-19.55 0-27.014-7.463-7.464-19.563-7.464-27.02 0l-80.876 80.869c-7.444 7.438-7.47 19.493-.057 26.963l80.876 81.512a19.064 19.064 0 0013.564 5.649c4.865 0 9.731-1.847 13.456-5.54 7.489-7.432 7.54-19.525.108-27.02l-67.471-68.006z"></path> <path d="M454.368 238.166c-10.552 0-19.104 8.552-19.104 19.104v135.005H56.995c-10.552 0-19.104 8.552-19.104 19.104s8.552 19.104 19.104 19.104h397.38c10.552 0 19.104-8.552 19.098-19.104V257.271c-.001-10.552-8.553-19.105-19.105-19.105z"></path> </symbol> </svg> <svg width="0" height="0" class="h5ap_svg_hidden" style="display: none;"> <symbol xmlns="http://www.w3.org/2000/svg" viewBox="0 0 477.88 477.88" id="shuffle"> <path d="M472.897 124.269a.892.892 0 01-.03-.031l-.017.017-68.267-68.267c-6.78-6.548-17.584-6.36-24.132.42-6.388 6.614-6.388 17.099 0 23.713l39.151 39.151h-95.334c-65.948.075-119.391 53.518-119.467 119.467-.056 47.105-38.228 85.277-85.333 85.333h-102.4C7.641 324.072 0 331.713 0 341.139s7.641 17.067 17.067 17.067h102.4c65.948-.075 119.391-53.518 119.467-119.467.056-47.105 38.228-85.277 85.333-85.333h95.334l-39.134 39.134c-6.78 6.548-6.968 17.353-.419 24.132 6.548 6.78 17.353 6.968 24.132.419.142-.137.282-.277.419-.419l68.267-68.267c6.674-6.657 6.687-17.463.031-24.136z"></path> <path d="M472.897 329.069l-.03-.03-.017.017-68.267-68.267c-6.78-6.548-17.584-6.36-24.132.42-6.388 6.614-6.388 17.099 0 23.712l39.151 39.151h-95.334a85.209 85.209 0 01-56.9-21.726c-7.081-6.222-17.864-5.525-24.086 1.555-6.14 6.988-5.553 17.605 1.319 23.874a119.28 119.28 0 0079.667 30.43h95.334l-39.134 39.134c-6.78 6.548-6.968 17.352-.42 24.132 6.548 6.78 17.352 6.968 24.132.42.142-.138.282-.277.42-.42l68.267-68.267c6.673-6.656 6.686-17.462.03-24.135zM199.134 149.702a119.28 119.28 0 00-79.667-30.43h-102.4C7.641 119.272 0 126.913 0 136.339s7.641 17.067 17.067 17.067h102.4a85.209 85.209 0 0156.9 21.726c7.081 6.222 17.864 5.525 24.086-1.555 6.14-6.989 5.553-17.606-1.319-23.875z"></path> </symbol> </svg> <script> const single_player = document.querySelectorAll(".h5ap_single_button"); single_player.forEach(item => { const audio = item.querySelector("audio"); audio.volume = 0.6; item.querySelector('.play').addEventListener("click", function() { console.log('Audio'); single_player.forEach(player => { player.querySelector("audio")?.pause(); }) setTimeout(() => { audio.currentTime = 0; audio.play(); }, 0); }); item.querySelector('.pause').style.display = 'none'; item.querySelector('.pause').addEventListener("click", function() { audio.pause(); }); audio.addEventListener("ended", () => { item.querySelector(".play").style.display = 'inline-block'; item.querySelector(".pause").style.display = 'none'; }); audio.addEventListener("pause", () => { item.querySelector(".play").style.display = 'inline-block'; item.querySelector(".pause").style.display = 'none'; }); audio.addEventListener("play", () => { item.querySelector(".play").style.display = 'none'; item.querySelector(".pause").style.display = 'inline-block'; }); }) </script> <script type="text/javascript"> jQuery( function() { if ( window.Cookies ) { Cookies.set( "gp_easy_passthrough_session", "1f5cb18c8a1d844b37a2272fcdcfe185||1751854402||1751854042", {"expires": new Date( new Date().getTime() + 1800000 ),"path": "/","domain": "","SameSite": "Lax","secure": false} ); } } ); </script> <link rel='stylesheet' id='wtwh-mlt-script-2-css' href='https://cdn.scripts.wtwhmedia.com/more-like-this/v1.7.8.css?ver=1.2.1' media='all' /> <link rel='stylesheet' id='gform_basic-css' href='https://www.controleng.com/wp-content/plugins/gravityforms/assets/css/dist/basic.min.css?ver=2.9.11' media='all' /> <link rel='stylesheet' id='gform_theme_components-css' href='https://www.controleng.com/wp-content/plugins/gravityforms/assets/css/dist/theme-components.min.css?ver=2.9.11' media='all' /> <link rel='stylesheet' id='gform_theme-css' href='https://www.controleng.com/wp-content/plugins/gravityforms/assets/css/dist/theme.min.css?ver=2.9.11' media='all' /> <style id='core-block-supports-inline-css'> .wp-container-core-group-is-layout-ebbf4722 > .alignfull{margin-right:calc(0px * -1);margin-left:calc(0px * -1);}.wp-container-core-group-is-layout-ebbf4722 > *{margin-block-start:0;margin-block-end:0;}.wp-container-core-group-is-layout-ebbf4722 > * + *{margin-block-start:4px;margin-block-end:0;} </style> <link rel='stylesheet' id='shared-counts-css' href='https://www.controleng.com/wp-content/plugins/shared-counts/assets/css/shared-counts.min.css?ver=1.5.0' media='all' /> <script id="wtwh-uni-gam-prestitial-core-js-extra"> var PRESTITIALINFO = {"logoHeight":"100","logoWidth":"100","backgroundColor":"clear","siteUrl":"https:\/\/www.controleng.com","siteName":"Control Engineering","siteLogo":"https:\/\/www.controleng.com\/wp-content\/uploads\/2024\/10\/control-engineering-logo.svg","mainCss":"https:\/\/www.controleng.com\/wp-content\/plugins\/wtwh-universal-gam\/assets\/css\/frontend\/prestitial\/main.css?=1.2.0","prestitialCss":"https:\/\/www.controleng.com\/wp-content\/plugins\/wtwh-universal-gam\/assets\/css\/frontend\/prestitial\/prestitial.css?=1.2.0"}; </script> <script src="https://www.controleng.com/wp-content/plugins/wtwh-universal-gam/assets/js/frontend/prestitial/adlogic.js?ver=1.2.0" id="wtwh-uni-gam-prestitial-core-js"></script> <script src="https://www.controleng.com/wp-content/plugins/wtwh-mlt-plugin/assets/js/mlt-removal/v1.1.1-ce.js?ver=1.2.1" id="wtwh-mlt-script-0-js"></script> <script src="https://cdn.scripts.wtwhmedia.com/more-like-this/v1.7.8.js?ver=1.2.1" id="wtwh-mlt-script-1-js"></script> <script id="wtwh-mlt-frontend-script-js-extra"> var MLTVARS = {"pubCodes":["CONTROLENG"],"startEvent":"mltRemovalComplete","articleLimit":"6"}; </script> <script src="https://www.controleng.com/wp-content/plugins/wtwh-mlt-plugin/assets/js/wtwh-mlt-frontend.js?ver=1.2.1" id="wtwh-mlt-frontend-script-js"></script> <script src="https://wtwh-scripts.s3.us-east-2.amazonaws.com/gravity-form-autofill/v1.0.1.js?ver=1751852602" id="wtwh-sl-script-0-js"></script> <script src="https://www.controleng.com/wp-includes/js/dist/dom-ready.min.js?ver=f77871ff7694fffea381" id="wp-dom-ready-js"></script> <script src="https://www.controleng.com/wp-includes/js/dist/hooks.min.js?ver=4d63a3d491d11ffd8ac6" id="wp-hooks-js"></script> <script src="https://www.controleng.com/wp-includes/js/dist/i18n.min.js?ver=5e580eb46a90c2b997e6" id="wp-i18n-js"></script> <script id="wp-i18n-js-after"> wp.i18n.setLocaleData( { 'text direction\u0004ltr': [ 'ltr' ] } ); </script> <script src="https://www.controleng.com/wp-includes/js/dist/a11y.min.js?ver=3156534cc54473497e14" id="wp-a11y-js"></script> <script defer='defer' src="https://www.controleng.com/wp-content/plugins/gravityforms/js/jquery.json.min.js?ver=2.9.11" id="gform_json-js"></script> <script id="gform_gravityforms-js-extra"> var gform_i18n = {"datepicker":{"days":{"monday":"Mo","tuesday":"Tu","wednesday":"We","thursday":"Th","friday":"Fr","saturday":"Sa","sunday":"Su"},"months":{"january":"January","february":"February","march":"March","april":"April","may":"May","june":"June","july":"July","august":"August","september":"September","october":"October","november":"November","december":"December"},"firstDay":1,"iconText":"Select date"}}; var gf_legacy_multi = []; var gform_gravityforms = {"strings":{"invalid_file_extension":"This type of file is not allowed. Must be one of the following:","delete_file":"Delete this file","in_progress":"in progress","file_exceeds_limit":"File exceeds size limit","illegal_extension":"This type of file is not allowed.","max_reached":"Maximum number of files reached","unknown_error":"There was a problem while saving the file on the server","currently_uploading":"Please wait for the uploading to complete","cancel":"Cancel","cancel_upload":"Cancel this upload","cancelled":"Cancelled"},"vars":{"images_url":"https:\/\/www.controleng.com\/wp-content\/plugins\/gravityforms\/images"}}; var gf_global = {"gf_currency_config":{"name":"U.S. Dollar","symbol_left":"$","symbol_right":"","symbol_padding":"","thousand_separator":",","decimal_separator":".","decimals":2,"code":"USD"},"base_url":"https:\/\/www.controleng.com\/wp-content\/plugins\/gravityforms","number_formats":[],"spinnerUrl":"https:\/\/www.controleng.com\/wp-content\/plugins\/gravityforms\/images\/spinner.svg","version_hash":"a218067e1bbadf762558c3bbfcba9293","strings":{"newRowAdded":"New row added.","rowRemoved":"Row removed","formSaved":"The form has been saved. The content contains the link to return and complete the form."}}; var gf_global = {"gf_currency_config":{"name":"U.S. Dollar","symbol_left":"$","symbol_right":"","symbol_padding":"","thousand_separator":",","decimal_separator":".","decimals":2,"code":"USD"},"base_url":"https:\/\/www.controleng.com\/wp-content\/plugins\/gravityforms","number_formats":[],"spinnerUrl":"https:\/\/www.controleng.com\/wp-content\/plugins\/gravityforms\/images\/spinner.svg","version_hash":"a218067e1bbadf762558c3bbfcba9293","strings":{"newRowAdded":"New row added.","rowRemoved":"Row removed","formSaved":"The form has been saved. The content contains the link to return and complete the form."}}; </script> <script defer='defer' src="https://www.controleng.com/wp-content/plugins/gravityforms/js/gravityforms.min.js?ver=2.9.11" id="gform_gravityforms-js"></script> <script defer='defer' src="https://www.google.com/recaptcha/api.js?hl=en&ver=6.8.1#038;render=explicit" id="gform_recaptcha-js"></script> <script defer='defer' src="https://www.controleng.com/wp-content/plugins/gravityforms/js/placeholders.jquery.min.js?ver=2.9.11" id="gform_placeholder-js"></script> <script defer='defer' src="https://www.controleng.com/wp-content/plugins/gravityforms/assets/js/dist/utils.min.js?ver=eb348d779889cc6b85811dcec814f513" id="gform_gravityforms_utils-js"></script> <script defer='defer' src="https://www.controleng.com/wp-content/plugins/gravityforms/assets/js/dist/vendor-theme.min.js?ver=21e5a4db1670166692ac5745329bfc80" id="gform_gravityforms_theme_vendors-js"></script> <script id="gform_gravityforms_theme-js-extra"> var gform_theme_config = {"common":{"form":{"honeypot":{"version_hash":"a218067e1bbadf762558c3bbfcba9293"},"ajax":{"ajaxurl":"https:\/\/www.controleng.com\/wp-admin\/admin-ajax.php","ajax_submission_nonce":"4b7cd139b5","i18n":{"step_announcement":"Step %1$s of %2$s, %3$s","unknown_error":"There was an unknown error processing your request. Please try again."}}}},"hmr_dev":"","public_path":"https:\/\/www.controleng.com\/wp-content\/plugins\/gravityforms\/assets\/js\/dist\/","config_nonce":"ee4e344c89"}; </script> <script defer='defer' src="https://www.controleng.com/wp-content/plugins/gravityforms/assets/js/dist/scripts-theme.min.js?ver=66383ead18820aa88d13caee790853b0" id="gform_gravityforms_theme-js"></script> <script src="https://www.controleng.com/wp-content/plugins/gp-easy-passthrough/js/vendor/js.cookie.js?ver=1.10" id="gpep_vendor_cookie-js"></script> <script id="shared-counts-js-extra"> var shared_counts = {"social_tracking":"1"}; </script> <script src="https://www.controleng.com/wp-content/plugins/shared-counts/assets/js/shared-counts.min.js?ver=1.5.0" id="shared-counts-js"></script> <script> gform.initializeOnLoaded( function() { jQuery(document).on('gform_post_render', function(event, formId, currentPage){if(formId == 5) {if(typeof Placeholders != 'undefined'){ Placeholders.enable(); } gform.utils.addAsyncFilter('gform/submission/pre_submission', async (data) => { const input = document.createElement('input'); input.type = 'hidden'; input.name = 'gf_zero_spam_key'; input.value = 'xabXim9yCPJxEUIw4LE4WEHaKYjy7OItKOcgJLFoG7CuuNRAwHExAYq2kcGkXzg4'; input.setAttribute('autocomplete', 'new-password'); data.form.appendChild(input); return data; });} } );jQuery(document).on('gform_post_conditional_logic', function(event, formId, fields, isInit){} ) } ); </script> <script> gform.initializeOnLoaded( function() {jQuery(document).trigger("gform_pre_post_render", [{ formId: "5", currentPage: "1", abort: function() { this.preventDefault(); } }]); if (event && event.defaultPrevented) { return; } const gformWrapperDiv = document.getElementById( "gform_wrapper_5" ); if ( gformWrapperDiv ) { const visibilitySpan = document.createElement( "span" ); visibilitySpan.id = "gform_visibility_test_5"; gformWrapperDiv.insertAdjacentElement( "afterend", visibilitySpan ); } const visibilityTestDiv = document.getElementById( "gform_visibility_test_5" ); let postRenderFired = false; function triggerPostRender() { if ( postRenderFired ) { return; } postRenderFired = true; gform.core.triggerPostRenderEvents( 5, 1 ); if ( visibilityTestDiv ) { visibilityTestDiv.parentNode.removeChild( visibilityTestDiv ); } } function debounce( func, wait, immediate ) { var timeout; return function() { var context = this, args = arguments; var later = function() { timeout = null; if ( !immediate ) func.apply( context, args ); }; var callNow = immediate && !timeout; clearTimeout( timeout ); timeout = setTimeout( later, wait ); if ( callNow ) func.apply( context, args ); }; } const debouncedTriggerPostRender = debounce( function() { triggerPostRender(); }, 200 ); if ( visibilityTestDiv && visibilityTestDiv.offsetParent === null ) { const observer = new MutationObserver( ( mutations ) => { mutations.forEach( ( mutation ) => { if ( mutation.type === 'attributes' && visibilityTestDiv.offsetParent !== null ) { debouncedTriggerPostRender(); observer.disconnect(); } }); }); observer.observe( document.body, { attributes: true, childList: false, subtree: true, attributeFilter: [ 'style', 'class' ], }); } else { triggerPostRender(); } } ); </script> <script> gform.initializeOnLoaded( function() { jQuery(document).on('gform_post_render', function(event, formId, currentPage){if(formId == 8) {if(typeof Placeholders != 'undefined'){ Placeholders.enable(); } gform.utils.addAsyncFilter('gform/submission/pre_submission', async (data) => { const input = document.createElement('input'); input.type = 'hidden'; input.name = 'gf_zero_spam_key'; input.value = 'xabXim9yCPJxEUIw4LE4WEHaKYjy7OItKOcgJLFoG7CuuNRAwHExAYq2kcGkXzg4'; input.setAttribute('autocomplete', 'new-password'); data.form.appendChild(input); return data; });} } );jQuery(document).on('gform_post_conditional_logic', function(event, formId, fields, isInit){} ) } ); </script> <script> gform.initializeOnLoaded( function() {jQuery(document).trigger("gform_pre_post_render", [{ formId: "8", currentPage: "1", abort: function() { this.preventDefault(); } }]); if (event && event.defaultPrevented) { return; } const gformWrapperDiv = document.getElementById( "gform_wrapper_8" ); if ( gformWrapperDiv ) { const visibilitySpan = document.createElement( "span" ); visibilitySpan.id = "gform_visibility_test_8"; gformWrapperDiv.insertAdjacentElement( "afterend", visibilitySpan ); } const visibilityTestDiv = document.getElementById( "gform_visibility_test_8" ); let postRenderFired = false; function triggerPostRender() { if ( postRenderFired ) { return; } postRenderFired = true; gform.core.triggerPostRenderEvents( 8, 1 ); if ( visibilityTestDiv ) { visibilityTestDiv.parentNode.removeChild( visibilityTestDiv ); } } function debounce( func, wait, immediate ) { var timeout; return function() { var context = this, args = arguments; var later = function() { timeout = null; if ( !immediate ) func.apply( context, args ); }; var callNow = immediate && !timeout; clearTimeout( timeout ); timeout = setTimeout( later, wait ); if ( callNow ) func.apply( context, args ); }; } const debouncedTriggerPostRender = debounce( function() { triggerPostRender(); }, 200 ); if ( visibilityTestDiv && visibilityTestDiv.offsetParent === null ) { const observer = new MutationObserver( ( mutations ) => { mutations.forEach( ( mutation ) => { if ( mutation.type === 'attributes' && visibilityTestDiv.offsetParent !== null ) { debouncedTriggerPostRender(); observer.disconnect(); } }); }); observer.observe( document.body, { attributes: true, childList: false, subtree: true, attributeFilter: [ 'style', 'class' ], }); } else { triggerPostRender(); } } ); </script> </body></html>