CINXE.COM
The Robot Report
<!DOCTYPE html> <html lang="en-US"> <head > <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1" /> <meta property="fb:admins" content="1140409510" /> <meta http-equiv="X-UA-Compatible" content="IE=edge" /> <meta property="fb:admins" content="107031532675062" /> <meta name="msvalidate.01" content="40BA1B879066C83CDFCA374CA4B490C3" /> <meta name='robots' content='index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1' /> <!-- This site is optimized with the Yoast SEO plugin v23.9 - https://yoast.com/wordpress/plugins/seo/ --> <title>The Robot Report</title> <meta name="description" content="The Robot Report provides robotics news, research, analysis and investment tracking for engineers, technology, and business professionals." /> <link rel="canonical" href="https://www.therobotreport.com/" /> <meta property="og:locale" content="en_US" /> <meta property="og:type" content="website" /> <meta property="og:title" content="The Robot Report" /> <meta property="og:description" content="The Robot Report provides robotics news, research, analysis and investment tracking for engineers, technology, and business professionals." /> <meta property="og:url" content="https://www.therobotreport.com/" /> <meta property="og:site_name" content="The Robot Report" /> <meta property="article:modified_time" content="2024-11-04T18:04:19+00:00" /> <meta property="og:image" content="https://www.therobotreport.com/wp-content/uploads/2018/01/the-robot-report-business-of-robots-Lisa-Eitel-Dan-Kara-Steve-Crowe.jpg" /> <meta property="og:image:width" content="883" /> <meta property="og:image:height" content="478" /> <meta property="og:image:type" content="image/jpeg" /> <meta name="twitter:card" content="summary_large_image" /> <meta name="twitter:site" content="@therobotreport" /> <script type="application/ld+json" class="yoast-schema-graph">{"@context":"https://schema.org","@graph":[{"@type":"WebPage","@id":"https://www.therobotreport.com/","url":"https://www.therobotreport.com/","name":"The Robot Report","isPartOf":{"@id":"https://www.therobotreport.com/#website"},"primaryImageOfPage":{"@id":"https://www.therobotreport.com/#primaryimage"},"image":{"@id":"https://www.therobotreport.com/#primaryimage"},"thumbnailUrl":"https://www.therobotreport.com/wp-content/uploads/2018/01/the-robot-report-business-of-robots-Lisa-Eitel-Dan-Kara-Steve-Crowe.jpg","datePublished":"2012-10-27T01:38:08+00:00","dateModified":"2024-11-04T18:04:19+00:00","description":"The Robot Report provides robotics news, research, analysis and investment tracking for engineers, technology, and business professionals.","breadcrumb":{"@id":"https://www.therobotreport.com/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https://www.therobotreport.com/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https://www.therobotreport.com/#primaryimage","url":"https://www.therobotreport.com/wp-content/uploads/2018/01/the-robot-report-business-of-robots-Lisa-Eitel-Dan-Kara-Steve-Crowe.jpg","contentUrl":"https://www.therobotreport.com/wp-content/uploads/2018/01/the-robot-report-business-of-robots-Lisa-Eitel-Dan-Kara-Steve-Crowe.jpg","width":883,"height":478},{"@type":"BreadcrumbList","@id":"https://www.therobotreport.com/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home"}]},{"@type":"WebSite","@id":"https://www.therobotreport.com/#website","url":"https://www.therobotreport.com/","name":"The Robot Report","description":"Robotics news, research and analysis","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://www.therobotreport.com/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"}]}</script> <meta name="msvalidate.01" content="40BA1B879066C83CDFCA374CA4B490C3" /> <meta name="google-site-verification" content="Opk6qHyw9c4AOJrzdAED4UmbwljkJa1M7T-nlFiU4ok" /> <!-- / Yoast SEO plugin. --> <link rel='dns-prefetch' href='//static.addtoany.com' /> <link rel='dns-prefetch' href='//kit.fontawesome.com' /> <link rel='dns-prefetch' href='//fonts.googleapis.com' /> <link rel="alternate" type="application/rss+xml" title="The Robot Report » Feed" href="https://www.therobotreport.com/feed/" /> <link rel="alternate" type="application/rss+xml" title="The Robot Report » Comments Feed" href="https://www.therobotreport.com/comments/feed/" /> <link rel="alternate" type="application/rss+xml" title="The Robot Report » Home Comments Feed" href="https://www.therobotreport.com/home/feed/" /> <script type="text/javascript"> /* <![CDATA[ */ window._wpemojiSettings = {"baseUrl":"https:\/\/s.w.org\/images\/core\/emoji\/15.0.3\/72x72\/","ext":".png","svgUrl":"https:\/\/s.w.org\/images\/core\/emoji\/15.0.3\/svg\/","svgExt":".svg","source":{"concatemoji":"https:\/\/www.therobotreport.com\/wp-includes\/js\/wp-emoji-release.min.js?ver=6.7"}}; /*! This file is auto-generated */ !function(i,n){var o,s,e;function c(e){try{var t={supportTests:e,timestamp:(new Date).valueOf()};sessionStorage.setItem(o,JSON.stringify(t))}catch(e){}}function p(e,t,n){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);var t=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data),r=(e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(n,0,0),new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data));return t.every(function(e,t){return e===r[t]})}function u(e,t,n){switch(t){case"flag":return n(e,"\ud83c\udff3\ufe0f\u200d\u26a7\ufe0f","\ud83c\udff3\ufe0f\u200b\u26a7\ufe0f")?!1:!n(e,"\ud83c\uddfa\ud83c\uddf3","\ud83c\uddfa\u200b\ud83c\uddf3")&&!n(e,"\ud83c\udff4\udb40\udc67\udb40\udc62\udb40\udc65\udb40\udc6e\udb40\udc67\udb40\udc7f","\ud83c\udff4\u200b\udb40\udc67\u200b\udb40\udc62\u200b\udb40\udc65\u200b\udb40\udc6e\u200b\udb40\udc67\u200b\udb40\udc7f");case"emoji":return!n(e,"\ud83d\udc26\u200d\u2b1b","\ud83d\udc26\u200b\u2b1b")}return!1}function f(e,t,n){var r="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?new OffscreenCanvas(300,150):i.createElement("canvas"),a=r.getContext("2d",{willReadFrequently:!0}),o=(a.textBaseline="top",a.font="600 32px Arial",{});return e.forEach(function(e){o[e]=t(a,e,n)}),o}function t(e){var t=i.createElement("script");t.src=e,t.defer=!0,i.head.appendChild(t)}"undefined"!=typeof Promise&&(o="wpEmojiSettingsSupports",s=["flag","emoji"],n.supports={everything:!0,everythingExceptFlag:!0},e=new Promise(function(e){i.addEventListener("DOMContentLoaded",e,{once:!0})}),new Promise(function(t){var n=function(){try{var e=JSON.parse(sessionStorage.getItem(o));if("object"==typeof e&&"number"==typeof e.timestamp&&(new Date).valueOf()<e.timestamp+604800&&"object"==typeof e.supportTests)return e.supportTests}catch(e){}return null}();if(!n){if("undefined"!=typeof Worker&&"undefined"!=typeof OffscreenCanvas&&"undefined"!=typeof URL&&URL.createObjectURL&&"undefined"!=typeof Blob)try{var e="postMessage("+f.toString()+"("+[JSON.stringify(s),u.toString(),p.toString()].join(",")+"));",r=new Blob([e],{type:"text/javascript"}),a=new Worker(URL.createObjectURL(r),{name:"wpTestEmojiSupports"});return void(a.onmessage=function(e){c(n=e.data),a.terminate(),t(n)})}catch(e){}c(n=f(s,u,p))}t(n)}).then(function(e){for(var t in e)n.supports[t]=e[t],n.supports.everything=n.supports.everything&&n.supports[t],"flag"!==t&&(n.supports.everythingExceptFlag=n.supports.everythingExceptFlag&&n.supports[t]);n.supports.everythingExceptFlag=n.supports.everythingExceptFlag&&!n.supports.flag,n.DOMReady=!1,n.readyCallback=function(){n.DOMReady=!0}}).then(function(){return e}).then(function(){var e;n.supports.everything||(n.readyCallback(),(e=n.source||{}).concatemoji?t(e.concatemoji):e.wpemoji&&e.twemoji&&(t(e.twemoji),t(e.wpemoji)))}))}((window,document),window._wpemojiSettings); /* ]]> */ </script> <link rel='stylesheet' id='theme-wtwh-amplifying-css' href='https://www.therobotreport.com/wp-content/themes/ThemeWTWHv2/style.css?ver=1705628095' type='text/css' media='all' /> <style id='wp-emoji-styles-inline-css' type='text/css'> img.wp-smiley, img.emoji { display: inline !important; border: none !important; box-shadow: none !important; height: 1em !important; width: 1em !important; margin: 0 0.07em !important; vertical-align: -0.1em !important; background: none !important; padding: 0 !important; } </style> <link rel='stylesheet' id='wp-block-library-css' href='https://www.therobotreport.com/wp-includes/css/dist/block-library/style.min.css?ver=6.7' type='text/css' media='all' /> <style id='classic-theme-styles-inline-css' type='text/css'> /*! This file is auto-generated */ .wp-block-button__link{color:#fff;background-color:#32373c;border-radius:9999px;box-shadow:none;text-decoration:none;padding:calc(.667em + 2px) calc(1.333em + 2px);font-size:1.125em}.wp-block-file__button{background:#32373c;color:#fff;text-decoration:none} </style> <style id='global-styles-inline-css' type='text/css'> :root{--wp--preset--aspect-ratio--square: 1;--wp--preset--aspect-ratio--4-3: 4/3;--wp--preset--aspect-ratio--3-4: 3/4;--wp--preset--aspect-ratio--3-2: 3/2;--wp--preset--aspect-ratio--2-3: 2/3;--wp--preset--aspect-ratio--16-9: 16/9;--wp--preset--aspect-ratio--9-16: 9/16;--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #ffffff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgba(6,147,227,1) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgba(252,185,0,1) 0%,rgba(255,105,0,1) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgba(255,105,0,1) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--font-size--small: 13px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 36px;--wp--preset--font-size--x-large: 42px;--wp--preset--spacing--20: 0.44rem;--wp--preset--spacing--30: 0.67rem;--wp--preset--spacing--40: 1rem;--wp--preset--spacing--50: 1.5rem;--wp--preset--spacing--60: 2.25rem;--wp--preset--spacing--70: 3.38rem;--wp--preset--spacing--80: 5.06rem;--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgba(255, 255, 255, 1), 6px 6px rgba(0, 0, 0, 1);--wp--preset--shadow--crisp: 6px 6px 0px rgba(0, 0, 0, 1);}:where(.is-layout-flex){gap: 0.5em;}:where(.is-layout-grid){gap: 0.5em;}body .is-layout-flex{display: flex;}.is-layout-flex{flex-wrap: wrap;align-items: center;}.is-layout-flex > :is(*, div){margin: 0;}body .is-layout-grid{display: grid;}.is-layout-grid > :is(*, div){margin: 0;}:where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;}:where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;} :where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;} :where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;} :root :where(.wp-block-pullquote){font-size: 1.5em;line-height: 1.6;} </style> <link rel='stylesheet' id='amazonpolly-css' href='https://www.therobotreport.com/wp-content/plugins/amazon-polly/public/css/amazonpolly-public.css?ver=1.0.0' type='text/css' media='all' /> <link rel='stylesheet' id='wtwh_prestitial_main_style-css' href='https://www.therobotreport.com/wp-content/plugins/prestitial/assets/css/main.css?ver=1.1.0' type='text/css' media='all' /> <link rel='stylesheet' id='wtwh_prestitial_style-css' href='https://www.therobotreport.com/wp-content/plugins/prestitial/assets/css/prestitial.css?ver=1.1.0' type='text/css' media='all' /> <link rel='stylesheet' id='buttons-css' href='https://www.therobotreport.com/wp-includes/css/buttons.min.css?ver=6.7' type='text/css' media='all' /> <link rel='stylesheet' id='dashicons-css' href='https://www.therobotreport.com/wp-includes/css/dashicons.min.css?ver=6.7' type='text/css' media='all' /> <link rel='stylesheet' id='mediaelement-css' href='https://www.therobotreport.com/wp-includes/js/mediaelement/mediaelementplayer-legacy.min.css?ver=4.2.17' type='text/css' media='all' /> <link rel='stylesheet' id='wp-mediaelement-css' href='https://www.therobotreport.com/wp-includes/js/mediaelement/wp-mediaelement.min.css?ver=6.7' type='text/css' media='all' /> <link rel='stylesheet' id='media-views-css' href='https://www.therobotreport.com/wp-includes/css/media-views.min.css?ver=6.7' type='text/css' media='all' /> <link rel='stylesheet' id='imgareaselect-css' href='https://www.therobotreport.com/wp-includes/js/imgareaselect/imgareaselect.css?ver=0.9.8' type='text/css' media='all' /> <link rel='stylesheet' id='frontend-sponsored-ads-css-css' href='https://www.therobotreport.com/wp-content/plugins/sponsored-content-ad/css/frontend-sponsored-ads.css?ver=1.01202411231732405895' type='text/css' media='all' /> <link rel='stylesheet' id='ea-fonts-css' href='https://fonts.googleapis.com/css?family=Open+Sans%3A300%2C700&ver=6.7' type='text/css' media='all' /> <link rel='stylesheet' id='ea-style-css' href='https://www.therobotreport.com/wp-content/themes/ThemeWTWHv2/assets/css/main.css?ver=1705628095' type='text/css' media='all' /> <link rel='stylesheet' id='tablepress-default-css' href='https://www.therobotreport.com/wp-content/plugins/tablepress/css/build/default.css?ver=2.4.4' type='text/css' media='all' /> <link rel='stylesheet' id='addtoany-css' href='https://www.therobotreport.com/wp-content/plugins/add-to-any/addtoany.min.css?ver=1.16' type='text/css' media='all' /> <script type="text/javascript" id="addtoany-core-js-before"> /* <![CDATA[ */ window.a2a_config=window.a2a_config||{};a2a_config.callbacks=[];a2a_config.overlays=[];a2a_config.templates={}; a2a_config.track_links = 'bitly'; a2a_config.track_links_key = 'addtoany|R_cc6a4017b0274d1d86f2397771b70136'; // username|API key delimited by | a2a_config.templates = { twitter: "${title} ${link} via @therobotreport" }; /* ]]> */ </script> <script type="text/javascript" defer src="https://static.addtoany.com/menu/page.js" id="addtoany-core-js"></script> <script type="text/javascript" src="https://www.therobotreport.com/wp-includes/js/jquery/jquery.min.js?ver=3.7.1" id="jquery-core-js"></script> <script type="text/javascript" src="https://www.therobotreport.com/wp-includes/js/jquery/jquery-migrate.min.js?ver=3.4.1" id="jquery-migrate-js"></script> <script type="text/javascript" defer src="https://www.therobotreport.com/wp-content/plugins/add-to-any/addtoany.min.js?ver=1.1" id="addtoany-jquery-js"></script> <script type="text/javascript" src="https://www.therobotreport.com/wp-content/plugins/amazon-polly/public/js/amazonpolly-public.js?ver=1.0.0" id="amazonpolly-js"></script> <script type="text/javascript" src="https://kit.fontawesome.com/0db18eb627.js?ver=6.7" id="wtwh_prestitial_fontAwesome_js-js"></script> <script type="text/javascript" id="utils-js-extra"> /* <![CDATA[ */ var userSettings = {"url":"\/","uid":"0","time":"1732405895","secure":"1"}; /* ]]> */ </script> <script type="text/javascript" src="https://www.therobotreport.com/wp-includes/js/utils.min.js?ver=6.7" id="utils-js"></script> <script type="text/javascript" src="https://www.therobotreport.com/wp-includes/js/plupload/moxie.min.js?ver=1.3.5" id="moxiejs-js"></script> <script type="text/javascript" src="https://www.therobotreport.com/wp-includes/js/plupload/plupload.min.js?ver=2.1.9" id="plupload-js"></script> <!--[if lt IE 8]> <script type="text/javascript" src="https://www.therobotreport.com/wp-includes/js/json2.min.js?ver=2015-05-03" id="json2-js"></script> <![endif]--> <script type="text/javascript" src="https://www.therobotreport.com/wp-content/plugins/sponsored-content-ad/js/frontend-sponsored-ads.js" id="frontend-sponsored-ads-script-js"></script> <script type="text/javascript" src="https://www.therobotreport.com/wp-content/plugins/twitter-tweets/js/weblizar-fronend-twitter-tweets.js?ver=1" id="wl-weblizar-fronend-twitter-tweets-js"></script> <link rel="https://api.w.org/" href="https://www.therobotreport.com/wp-json/" /><link rel="alternate" title="JSON" type="application/json" href="https://www.therobotreport.com/wp-json/wp/v2/pages/6389" /><link rel='shortlink' href='https://www.therobotreport.com/' /> <link rel="alternate" title="oEmbed (JSON)" type="application/json+oembed" href="https://www.therobotreport.com/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fwww.therobotreport.com%2F" /> <link rel="alternate" title="oEmbed (XML)" type="text/xml+oembed" href="https://www.therobotreport.com/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fwww.therobotreport.com%2F&format=xml" /> <!-- www.therobotreport.com=6389 --> <script> var contentHash = 'b5fe753db31026582058d2c036d50cd3'; var cat_target='b5fe753db31026582058d2c036d50cd3, home-page,ros'; </script> <style> #category-posts-3-internal ul {padding: 0;} #category-posts-3-internal .cat-post-item img {max-width: initial; max-height: initial; margin: initial;} #category-posts-3-internal .cat-post-author {margin-bottom: 0;} #category-posts-3-internal .cat-post-thumbnail {margin: 5px 10px 5px 0;} #category-posts-3-internal .cat-post-item:before {content: ""; clear: both;} #category-posts-3-internal .cat-post-excerpt-more {display: inline-block;} #category-posts-3-internal .cat-post-item {list-style: none; margin: 3px 0 10px; padding: 3px 0;} #category-posts-3-internal .cat-post-current .cat-post-title {font-weight: bold; text-transform: uppercase;} #category-posts-3-internal [class*=cat-post-tax] {font-size: 0.85em;} #category-posts-3-internal [class*=cat-post-tax] * {display:inline-block;} #category-posts-3-internal .cat-post-item:after {content: ""; display: table; clear: both;} #category-posts-3-internal .cat-post-item .cat-post-title {overflow: hidden;text-overflow: ellipsis;white-space: initial;display: -webkit-box;-webkit-line-clamp: 2;-webkit-box-orient: vertical;padding-bottom: 0 !important;} #category-posts-3-internal .cat-post-item:after {content: ""; display: table; clear: both;} #category-posts-3-internal .cat-post-thumbnail {display:block; float:left; margin:5px 10px 5px 0;} #category-posts-3-internal .cat-post-crop {overflow:hidden;display:block;} #category-posts-3-internal p {margin:5px 0 0 0} #category-posts-3-internal li > div {margin:5px 0 0 0; clear:both;} #category-posts-3-internal .dashicons {vertical-align:middle;} #category-posts-3-internal .cat-post-thumbnail .cat-post-crop img {height: 95px;} #category-posts-3-internal .cat-post-thumbnail .cat-post-crop img {width: 150px;} #category-posts-3-internal .cat-post-thumbnail .cat-post-crop img {object-fit: cover; max-width: 100%; display: block;} #category-posts-3-internal .cat-post-thumbnail .cat-post-crop-not-supported img {width: 100%;} #category-posts-3-internal .cat-post-thumbnail {max-width:100%;} #category-posts-3-internal .cat-post-item img {margin: initial;} #category-posts-3-internal .cat-post-dark img {padding-bottom: 0 !important; -webkit-transition: all 0.3s ease; -moz-transition: all 0.3s ease; -ms-transition: all 0.3s ease; -o-transition: all 0.3s ease; transition: all 0.3s ease;} #category-posts-3-internal .cat-post-dark:hover img {-webkit-filter: brightness(75%); -moz-filter: brightness(75%); -ms-filter: brightness(75%); -o-filter: brightness(75%); filter: brightness(75%);} </style> <script> let sliderTransitionTime = 0; </script> <link rel="pingback" href="https://www.therobotreport.com/xmlrpc.php" /> <!-- Google Tag Manager for Global Container--> <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-MMC9PJ9');</script> <!-- End Google Tag Manager --> <!-- Google Tag Manager --> <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-TXCXX57');</script> <!-- End Google Tag Manager --> <script async src="https://securepubads.g.doubleclick.net/tag/js/gpt.js"></script> <script> window.googletag = window.googletag || {cmd: []}; googletag.cmd.push(function() { var pathParts = window.location.pathname.substr(1).split('/'); var mapHeader = googletag.sizeMapping() .addSize([768, 200], [728, 90]) .addSize([0, 0], [300, 250]) .build(); var mapLargeHeader = googletag.sizeMapping() .addSize([1024, 200], [[970, 90], [970, 250]]) .addSize([0, 0], [300, 250]) .build(); var mapWallpaper = googletag.sizeMapping() .addSize([1024, 500], [[1, 1]]) .addSize([0, 0], [[1, 1]]) .build(); var gptSlots = []; gptSlots[0] = googletag.defineSlot('/5272491/robo_network/trr_header', [[300, 250], [728, 90]], 'div-gpt-trr-header') .defineSizeMapping(mapHeader) .addService(googletag.pubads()); gptSlots[1] = googletag.defineSlot('/5272491/robo_network/trr_largeleader', [[970, 90], [970, 250]], 'div-gpt-trr_largeleader') .defineSizeMapping(mapLargeHeader) .addService(googletag.pubads()); gptSlots[2] = googletag.defineSlot('/5272491/robo_network/trr_wallpaper', [[1, 1]], 'div-gpt-trr_wallpaper') .defineSizeMapping(mapWallpaper) .addService(googletag.pubads()); googletag.defineSlot('/5272491/robo_network/trr_allstreamflex', [[1, 1]], 'div-gpt-trr_allstreamflex').addService(googletag.pubads()); googletag.defineSlot('/5272491/robo_network/trr_allstreamprelude', [[1, 1]], 'div-gpt-trr_allstreamprelude').addService(googletag.pubads()); googletag.defineSlot('/5272491/robo_network/trr_sidebar1', [[300, 250], [300, 600]], 'div-gpt-trr_sidebar1').addService(googletag.pubads()); googletag.defineSlot('/5272491/robo_network/trr_sidebar2', [[300, 250], [300, 600]], 'div-gpt-trr_sidebar2').addService(googletag.pubads()); googletag.defineSlot('/5272491/robo_network/trr_sidebarbottom', [[300, 250], [300, 600]], 'div-gpt-trr_sidebarbottom').addService(googletag.pubads()); googletag.pubads().enableSingleRequest(); googletag.pubads().collapseEmptyDivs(); googletag.pubads().setTargeting('articletitle', pathParts[0] ? pathParts[0]: 'home-page').setTargeting('cat_target', [cat_target]); googletag.enableServices(); }); </script><link rel="icon" href="https://www.therobotreport.com/wp-content/uploads/2017/08/cropped-robot-report-site-32x32.png" sizes="32x32" /> <link rel="icon" href="https://www.therobotreport.com/wp-content/uploads/2017/08/cropped-robot-report-site-192x192.png" sizes="192x192" /> <link rel="apple-touch-icon" href="https://www.therobotreport.com/wp-content/uploads/2017/08/cropped-robot-report-site-180x180.png" /> <meta name="msapplication-TileImage" content="https://www.therobotreport.com/wp-content/uploads/2017/08/cropped-robot-report-site-270x270.png" /> <!--Plugin WP Missed Schedule Active - Secured with Genuine Authenticity KeyTag--> <!-- This site is patched against a big problem not solved since WordPress 2.5 --> <style type="text/css" id="wp-custom-css"> /*body > div.site-container > div.site-inner > div > div > main > article > div > p > a { color: #D2232A; }*/ .entry-content a { color: #D2232A; font-weight: bold; } .site-header .title-area { width: 350px; } @media only screen and (max-width: 1152px) { .site-header .title-area { width: 120px; } } .SoundCloudPubDate{padding:10px} .SoundCloudTitle{padding:10px} @media only screen and (min-width: 1028px) { body.small-header .nav-primary .menu-item.home { display: block; width: 150px; height: 40px; margin-right: 30px; vertical-align: middle; margin-top: -13px; } } @media only screen and (max-width: 1150px) { .site-header .title-area { width: 250px !important; } } @media only screen and (max-width: 510px) { .site-header .title-area { width: 175px !important; } } /* .postid-561743 .author-box { display: none !important; }*/ /*Fix for Categories/home page article display*/ @media only screen and (max-width: 500px) { .content .entry .entry-header, .archive-entry .entry-header { } .entry-content img { text-align: center !important; width: 100% !important; } .archive-entry { display: flex; flex-direction: column-reverse; width: 100% !important; } .archive-entry > .entry-header, .archive-entry .entry-content { width: 100% !important; } } @media only screen and (max-width: 767px) { .archive.category .entry-content p { display: none !important } .blog .entry-content p { display: none !important; } } .slick-slider.header-slides .header-slide .overlay h4, .slick-slider.header-slides .header-slide .overlay h2 { text-shadow: 2px 2px 5px black; background: none !important; -webkit-text-stroke-width: 0px !important; -webkit-text-stroke-color: transparent !important; } /* Search Page */ .search .content { width: 100%; max-width: 100%; } body.search .site-inner { display: unset; } body.search .site-inner { padding-left: unset; padding-right: unset; } .search-results-outer-container { align-items: flex-start; } </style> </head> <body class="home page-template-default page page-id-6389 content-sidebar genesis-breadcrumbs-hidden"> <!-- xyzzy top --> <div id="prestitial" style="opacity: 0;"> <div id="prestitial-overlay"></div> <div id="prestitial-grid"> <div class="prestitial-logo"> <div class="title-area"> <h1 class="site-title"> <a href="#"><img src="https://www.therobotreport.com/wp-content/uploads/2022/10/TheRobotReport_logo-notag.png"></a></h1> </div> </div> <div class="close-cta"> Continue to Site <i class="fa fa-arrow-right"></i> </div> <div id="prestitial-banner"></div> </div> </div> <!-- hides rest of content --> <div id="body-wrapper" style="opacity: 0;"> <div class="site-container"><header class="site-header"><div class="wrap"><div class="title-area"><h1 class="site-title"><a href="https://www.therobotreport.com/">The Robot Report</a></h1></div><div class="widget-area header-widget-area"><section id="custom_html-5" class="widget_text widget widget_custom_html"><div class="widget_text widget-wrap"><div class="textwidget custom-html-widget"><div id='div-gpt-trr-header'> <script> googletag.cmd.push(function() { googletag.display('div-gpt-trr-header'); }); </script> </div> </div></div></section> </div><div class="mobile-toggles"><a href="#" class="search-toggle"><i class="icon-search"></i></a><a href="#" class="mobile-menu-toggle"><i class="icon-menu"></i></a></div></div></header><nav class="nav-primary" aria-label="Main"><div class="wrap"><ul id="menu-main-nav" class="menu genesis-nav-menu menu-primary"><li id="menu-item-560423" class="home menu-item current-menu-item"><a href="https://www.therobotreport.com/" aria-current="page"><span >Home</span></a></li> <li id="menu-item-559325" class="menu-item"><a href="https://www.therobotreport.com/category/news/"><span >News</span></a></li> <li id="menu-item-97308" class="menu-item menu-item-has-children"><a href="https://www.therobotreport.com/category/technologies/"><span >Technologies</span></a> <ul class="sub-menu"> <li id="menu-item-97313" class="menu-item"><a href="https://www.therobotreport.com/category/technologies/batteries-power-supplies/"><span >Batteries / Power Supplies</span></a></li> <li id="menu-item-97314" class="menu-item"><a href="https://www.therobotreport.com/category/technologies/cameras-imaging-vision/"><span >Cameras / Imaging / Vision</span></a></li> <li id="menu-item-97315" class="menu-item"><a href="https://www.therobotreport.com/category/technologies/controllers/"><span >Controllers</span></a></li> <li id="menu-item-76283" class="menu-item"><a href="https://www.therobotreport.com/category/technologies/grippers-end-effectors/"><span >End Effectors</span></a></li> <li id="menu-item-101203" class="menu-item"><a href="https://www.therobotreport.com/category/technologies/microprocessors-socs/"><span >Microprocessors / SoCs</span></a></li> <li id="menu-item-102500" class="menu-item"><a href="https://www.therobotreport.com/category/robot-components/motioncontrol/"><span >Motion Control</span></a></li> <li id="menu-item-97328" class="menu-item"><a href="https://www.therobotreport.com/category/technologies/sensors-sensing/"><span >Sensors</span></a></li> <li id="menu-item-102479" class="menu-item"><a href="https://www.therobotreport.com/category/technologies/soft-robotics/"><span >Soft Robotics</span></a></li> <li id="menu-item-97316" class="menu-item"><a href="https://www.therobotreport.com/category/software-simulation/"><span >Software / Simulation</span></a></li> </ul> </li> <li id="menu-item-97307" class="menu-item menu-item-has-children"><a href="https://www.therobotreport.com/category/design-development/"><span >Development</span></a> <ul class="sub-menu"> <li id="menu-item-76261" class="menu-item"><a href="https://www.therobotreport.com/category/design-development/ai-cognition/"><span >Artificial Intelligence</span></a></li> <li id="menu-item-97329" class="menu-item"><a href="https://www.therobotreport.com/category/design-development/haptics/"><span >Human Robot Interaction / Haptics</span></a></li> <li id="menu-item-97330" class="menu-item"><a href="https://www.therobotreport.com/category/design-development/mobility-navigation/"><span >Mobility / Navigation</span></a></li> <li id="menu-item-97306" class="menu-item"><a href="https://www.therobotreport.com/category/research-development/"><span >Research</span></a></li> </ul> </li> <li id="menu-item-97309" class="menu-item menu-item-has-children"><a href="https://www.therobotreport.com/category/robots-platforms/"><span >Robots</span></a> <ul class="sub-menu"> <li id="menu-item-97317" class="menu-item"><a href="https://www.therobotreport.com/category/robots-platforms/agv/"><span >AGVs</span></a></li> <li id="menu-item-102481" class="menu-item"><a href="https://www.therobotreport.com/category/robots-platforms/amrs/"><span >AMRs</span></a></li> <li id="menu-item-97319" class="menu-item"><a href="https://www.therobotreport.com/category/robots-platforms/consumer-robotics/"><span >Consumer</span></a></li> <li id="menu-item-76286" class="menu-item"><a href="https://www.therobotreport.com/category/robots-platforms/collaborative-robot/"><span >Collaborative Robots</span></a></li> <li id="menu-item-97318" class="menu-item"><a href="https://www.therobotreport.com/category/robots-platforms/uav-drones/"><span >Drones</span></a></li> <li id="menu-item-578016" class="menu-item"><a href="https://www.therobotreport.com/category/robots-platforms/humanoids/"><span >Humanoids</span></a></li> <li id="menu-item-559160" class="menu-item"><a href="https://www.therobotreport.com/category/robots-platforms/industrial-robots/"><span >Industrial</span></a></li> <li id="menu-item-76292" class="menu-item"><a href="https://www.therobotreport.com/category/robots-platforms/self-driving-vehicles/"><span >Self-Driving Vehicles</span></a></li> <li id="menu-item-102483" class="menu-item"><a href="https://www.therobotreport.com/category/robots-platforms/ums/"><span >Unmanned Maritime Systems</span></a></li> </ul> </li> <li id="menu-item-577276" class="menu-item menu-item-has-children"><a><span >Robotics Business Review</span></a> <ul class="sub-menu"> <li id="menu-item-560106" class="menu-item menu-item-has-children"><a href="https://www.therobotreport.com/category/financial/"><span >Financial</span></a> <ul class="sub-menu"> <li id="menu-item-560108" class="menu-item"><a href="https://www.therobotreport.com/category/financial/investments-funding/"><span >Investments</span></a></li> <li id="menu-item-560107" class="menu-item"><a href="https://www.therobotreport.com/category/financial/mergers-acquisitions/"><span >Mergers & Acquisitions</span></a></li> <li id="menu-item-560109" class="menu-item"><a href="https://www.therobotreport.com/category/financial/earnings/"><span >Earnings</span></a></li> </ul> </li> <li id="menu-item-97310" class="menu-item menu-item-has-children"><a href="https://www.therobotreport.com/category/markets-industries/"><span >Markets</span></a> <ul class="sub-menu"> <li id="menu-item-97320" class="menu-item"><a href="https://www.therobotreport.com/category/markets-industries/ag/"><span >Agriculture</span></a></li> <li id="menu-item-97322" class="menu-item"><a href="https://www.therobotreport.com/category/markets-industries/biotechnology-medical-healthcare/"><span >Healthcare</span></a></li> <li id="menu-item-97323" class="menu-item"><a href="https://www.therobotreport.com/category/markets-industries/logistics-warehousing-asrs/"><span >Logistics</span></a></li> <li id="menu-item-102140" class="menu-item"><a href="https://www.therobotreport.com/category/markets-industries/manufacturing/"><span >Manufacturing</span></a></li> <li id="menu-item-97324" class="menu-item"><a href="https://www.therobotreport.com/category/markets-industries/mining/"><span >Mining</span></a></li> <li id="menu-item-97321" class="menu-item"><a href="https://www.therobotreport.com/category/markets-industries/defense-security/"><span >Security</span></a></li> </ul> </li> <li id="menu-item-581404" class="menu-item menu-item-has-children"><a href="https://www.therobotreport.com/tag/rbr50/"><span >RBR50</span></a> <ul class="sub-menu"> <li id="menu-item-581405" class="menu-item"><a href="https://www.therobotreport.com/2025-rbr50-robotics-innovation-awards-open-for-nominations/"><span >2025 RBR50 Entry Form</span></a></li> <li id="menu-item-578645" class="menu-item"><a href="https://www.therobotreport.com/rbr50-2024/"><span >RBR50 Winners 2024</span></a></li> <li id="menu-item-105870" class="menu-item"><a href="https://www.therobotreport.com/meet-2023-rbr50-robotics-innovation-awards/"><span >RBR50 Winners 2023</span></a></li> <li id="menu-item-577278" class="menu-item"><a href="https://www.therobotreport.com/2022-rbr50-robotics-innovation-award-honorees/"><span >RBR50 Winners 2022</span></a></li> <li id="menu-item-577691" class="menu-item"><a href="https://www.therobotreport.com/2021-rbr50-robotics-innovation-awards-digital-edition/"><span >RBR50 Winners 2021</span></a></li> </ul> </li> </ul> </li> <li id="menu-item-97312" class="menu-item menu-item-has-children"><a><span >Resources</span></a> <ul class="sub-menu"> <li id="menu-item-578076" class="menu-item"><a target="_blank" href="https://www.automatedwarehouseonline.com/category/reports/"><span >Automated Warehouse Research Reports</span></a></li> <li id="menu-item-99211" class="menu-item"><a href="https://www.therobotreport.com/category/digital-issues/"><span >Digital Issues</span></a></li> <li id="menu-item-565430" class="menu-item"><a href="https://www.therobotreport.com/category/ebooks/"><span >eBooks</span></a></li> <li id="menu-item-105202" class="menu-item menu-item-has-children"><a><span >Publications</span></a> <ul class="sub-menu"> <li id="menu-item-577275" class="menu-item"><a target="_blank" href="https://mobilerobotguide.com/category/logistics-warehouse-transportation/"><span >Automated Warehouse</span></a></li> <li id="menu-item-105204" class="menu-item"><a target="_blank" href="https://www.cobottrends.com"><span >Collaborative Robotics Trends</span></a></li> </ul> </li> <li id="menu-item-107139" class="menu-item"><a target="_blank" href="https://search.therobotreport.com"><span >Search Robotics Database</span></a></li> <li id="menu-item-101719" class="menu-item"><a target="_blank" href="https://www.youtube.com/channel/UCFvPK74I5Hd5eVzZ_5t6FbQ/videos"><span >Videos</span></a></li> <li id="menu-item-568546" class="menu-item"><a target="_blank" href="https://gateway.on24.com/wcc/experience/elitewtwhmedia/2927718/4415911/robot-report"><span >Webinars / Digital Events</span></a></li> </ul> </li> <li id="menu-item-102139" class="menu-item menu-item-has-children"><a href="https://www.therobotreport.com/category/events/"><span >Events</span></a> <ul class="sub-menu"> <li id="menu-item-104093" class="menu-item"><a target="_blank" href="https://www.robobusiness.com/"><span >RoboBusiness</span></a></li> <li id="menu-item-96803" class="menu-item"><a target="_blank" href="https://www.roboticssummit.com"><span >Robotics Summit & Expo</span></a></li> <li id="menu-item-102253" class="menu-item"><a target="_blank" href="https://www.devicetalks.com/"><span >DeviceTalks</span></a></li> <li id="menu-item-104100" class="menu-item"><a target="_blank" href="https://www.rd100conference.com"><span >R&D 100</span></a></li> <li id="menu-item-560506" class="menu-item"><a target="_blank" href="https://roboweeks.com/"><span >Robotics Weeks</span></a></li> </ul> </li> <li id="menu-item-105374" class="menu-item menu-item-has-children"><a href="https://www.therobotreport.com/category/podcast/"><span >Podcast</span></a> <ul class="sub-menu"> <li id="menu-item-560351" class="menu-item"><a href="https://www.therobotreport.com/category/podcast/"><span >Episodes</span></a></li> </ul> </li> <li class="menu-item search"><a href="#" class="search-toggle"><i class="icon-search"></i></a></li></ul></div></nav><div style="padding-top:10px;text-align:center"> <div id='div-gpt-trr_largeleader'> <script> googletag.cmd.push(function() { googletag.display('div-gpt-trr_largeleader'); }); </script> </div> </div><div class="site-inner"><div class="wrap"><div class="slick-slider header-slides"><div><div class="row"><div class="col-sm-8"><div class="header-slide"><a class="block-link" href="https://www.therobotreport.com/how-ai-perception-are-shaping-mobile-robotics/"></a><img width="770" height="500" src="https://www.therobotreport.com/wp-content/uploads/2024/11/episode-173-cover.jpg" class="attachment-ea_featured size-ea_featured wp-image-581723 wp-post-image" alt="Headshots of Amir Bousani and Jacob Petersen with the podcast logo." decoding="async" fetchpriority="high" srcset="https://www.therobotreport.com/wp-content/uploads/2024/11/episode-173-cover.jpg 770w, https://www.therobotreport.com/wp-content/uploads/2024/11/episode-173-cover-300x195.jpg 300w, https://www.therobotreport.com/wp-content/uploads/2024/11/episode-173-cover-150x97.jpg 150w, https://www.therobotreport.com/wp-content/uploads/2024/11/episode-173-cover-768x499.jpg 768w, https://www.therobotreport.com/wp-content/uploads/2024/11/episode-173-cover-368x238.jpg 368w" sizes="(max-width: 770px) 100vw, 770px" /><div class="overlay"><h2> </h2></div></div></div><div class="col-sm-4"><div class="header-slide"><a class="block-link" href="https://www.therobotreport.com/a3-calls-on-incoming-administration-support-robotics-q3-slowdown/"></a><img width="778" height="500" src="https://www.therobotreport.com/wp-content/uploads/2024/11/A3_Q3_2024_new_orders_units-778x500.jpg" class="attachment-ea_featured size-ea_featured wp-image-581695 wp-post-image" alt="Robot orders and shipments declined in the first nine months of 2024, reported A3." decoding="async" /><div class="overlay"><h4>A3 calls on incoming administration to support robotics, as Q3 stats show slowdown</h4></div></div><div class="header-slide"><a class="block-link" href="https://www.therobotreport.com/collaborative-robotics-unveils-proxie-mobile-manipulator/"></a><img width="770" height="500" src="https://www.therobotreport.com/wp-content/uploads/2024/11/cobot-proxie-featured.jpg" class="attachment-ea_featured size-ea_featured wp-image-581666 wp-post-image" alt="Proxie in a warehouse." decoding="async" srcset="https://www.therobotreport.com/wp-content/uploads/2024/11/cobot-proxie-featured.jpg 770w, https://www.therobotreport.com/wp-content/uploads/2024/11/cobot-proxie-featured-300x195.jpg 300w, https://www.therobotreport.com/wp-content/uploads/2024/11/cobot-proxie-featured-150x97.jpg 150w, https://www.therobotreport.com/wp-content/uploads/2024/11/cobot-proxie-featured-768x499.jpg 768w, https://www.therobotreport.com/wp-content/uploads/2024/11/cobot-proxie-featured-368x238.jpg 368w" sizes="(max-width: 770px) 100vw, 770px" /><div class="overlay"><h2>Collaborative Robotics unveils Proxie mobile manipulator</h2></div></div></div></div></div><div><div class="row"><div class="col-sm-8"><div class="header-slide"><a class="block-link" href="https://www.therobotreport.com/abb-edge-using-ai-robotics-transform-industries/"></a><img width="770" height="500" src="https://www.therobotreport.com/wp-content/uploads/2024/11/episode-172-coverRobotics.jpg" class="attachment-ea_featured size-ea_featured wp-image-581636 wp-post-image" alt="headshot of Marc Segura with podcast logo." decoding="async" srcset="https://www.therobotreport.com/wp-content/uploads/2024/11/episode-172-coverRobotics.jpg 770w, https://www.therobotreport.com/wp-content/uploads/2024/11/episode-172-coverRobotics-300x195.jpg 300w, https://www.therobotreport.com/wp-content/uploads/2024/11/episode-172-coverRobotics-150x97.jpg 150w, https://www.therobotreport.com/wp-content/uploads/2024/11/episode-172-coverRobotics-768x499.jpg 768w, https://www.therobotreport.com/wp-content/uploads/2024/11/episode-172-coverRobotics-368x238.jpg 368w" sizes="(max-width: 770px) 100vw, 770px" /><div class="overlay"><h2> </h2></div></div></div><div class="col-sm-4"><div class="header-slide"><a class="block-link" href="https://www.therobotreport.com/schaeffler-plans-global-use-agility-robotics-digit-humanoid/"></a><img width="778" height="500" src="https://www.therobotreport.com/wp-content/uploads/2024/11/agility-robotics-digit-humanoid-spanx-778x500.jpg" class="attachment-ea_featured size-ea_featured wp-image-581569 wp-post-image" alt="The Digit humanoid carries totes at a Spanx warehouse in Georgia." decoding="async" /><div class="overlay"><h2>Schaeffler plans global use of Agility Robotics' Digit humanoid</h2></div></div><div class="header-slide"><a class="block-link" href="https://www.therobotreport.com/waymo-robotaxi-service-opens-to-public-in-los-angeles/"></a><img width="770" height="500" src="https://www.therobotreport.com/wp-content/uploads/2024/11/waymo-featured.jpg" class="attachment-ea_featured size-ea_featured wp-image-581557 wp-post-image" alt="Waymo's sixth generation autonomous vehicle driving down a road with palm trees in the background." decoding="async" srcset="https://www.therobotreport.com/wp-content/uploads/2024/11/waymo-featured.jpg 770w, https://www.therobotreport.com/wp-content/uploads/2024/11/waymo-featured-300x195.jpg 300w, https://www.therobotreport.com/wp-content/uploads/2024/11/waymo-featured-150x97.jpg 150w, https://www.therobotreport.com/wp-content/uploads/2024/11/waymo-featured-768x499.jpg 768w, https://www.therobotreport.com/wp-content/uploads/2024/11/waymo-featured-368x238.jpg 368w" sizes="(max-width: 770px) 100vw, 770px" /><div class="overlay"><h2>Waymo robotaxi service opens to public in Los Angeles</h2></div></div></div></div></div><div><div class="row"><div class="col-sm-8"><div class="header-slide"><a class="block-link" href="https://www.therobotreport.com/zoox-now-testing-its-robotaxis-in-san-francisco/"></a><img width="770" height="500" src="https://www.therobotreport.com/wp-content/uploads/2024/11/Zoox_San-Francisco-featured.jpg" class="attachment-ea_featured size-ea_featured wp-image-581532 wp-post-image" alt="One of Zoox's purpose-built robotaxis, a small, boxy vehicle with no front or back, driving down a road in Las Vegas." decoding="async" srcset="https://www.therobotreport.com/wp-content/uploads/2024/11/Zoox_San-Francisco-featured.jpg 770w, https://www.therobotreport.com/wp-content/uploads/2024/11/Zoox_San-Francisco-featured-300x195.jpg 300w, https://www.therobotreport.com/wp-content/uploads/2024/11/Zoox_San-Francisco-featured-150x97.jpg 150w, https://www.therobotreport.com/wp-content/uploads/2024/11/Zoox_San-Francisco-featured-768x499.jpg 768w, https://www.therobotreport.com/wp-content/uploads/2024/11/Zoox_San-Francisco-featured-368x238.jpg 368w" sizes="(max-width: 770px) 100vw, 770px" /><div class="overlay"><h2>Zoox now testing its robotaxis in San Francisco</h2></div></div></div><div class="col-sm-4"><div class="header-slide"><a class="block-link" href="https://www.therobotreport.com/researchers-use-imitation-learning-to-train-surgical-robots/"></a><img width="778" height="500" src="https://www.therobotreport.com/wp-content/uploads/2024/11/imitation-learning-surgical-robots-778x500.jpg" class="attachment-ea_featured size-ea_featured wp-image-581523 wp-post-image" alt="a surgical robot suturing a patient after a procedure." decoding="async" /><div class="overlay"><h2>Researchers use imitation learning to train surgical robots</h2></div></div><div class="header-slide"><a class="block-link" href="https://www.therobotreport.com/who-let-the-robodogs-out-meet-swiss-mile-wheeled-quadruped/"></a><img width="770" height="500" src="https://www.therobotreport.com/wp-content/uploads/2024/11/episode-171-featured-imageRobotics-1.jpg" class="attachment-ea_featured size-ea_featured wp-image-581493 wp-post-image" alt="headshot of Marko Bjelonic, CEO and co-founder of Swiss Mile, and the podcast logo." decoding="async" srcset="https://www.therobotreport.com/wp-content/uploads/2024/11/episode-171-featured-imageRobotics-1.jpg 770w, https://www.therobotreport.com/wp-content/uploads/2024/11/episode-171-featured-imageRobotics-1-300x195.jpg 300w, https://www.therobotreport.com/wp-content/uploads/2024/11/episode-171-featured-imageRobotics-1-150x97.jpg 150w, https://www.therobotreport.com/wp-content/uploads/2024/11/episode-171-featured-imageRobotics-1-768x499.jpg 768w, https://www.therobotreport.com/wp-content/uploads/2024/11/episode-171-featured-imageRobotics-1-368x238.jpg 368w" sizes="(max-width: 770px) 100vw, 770px" /><div class="overlay"><h2> </h2></div></div></div></div></div></div><div class="box-links"><div class="box-link"><a href="https://www.roboticssummit.com/call-for-presentations/"><img width="740" height="494" src="https://www.therobotreport.com/wp-content/uploads/2023/12/robotics-summit-2024-call-for-speakers.jpg" class="attachment-large size-large wp-image-569696" alt="" decoding="async" srcset="https://www.therobotreport.com/wp-content/uploads/2023/12/robotics-summit-2024-call-for-speakers.jpg 850w, https://www.therobotreport.com/wp-content/uploads/2023/12/robotics-summit-2024-call-for-speakers-300x200.jpg 300w, https://www.therobotreport.com/wp-content/uploads/2023/12/robotics-summit-2024-call-for-speakers-150x100.jpg 150w, https://www.therobotreport.com/wp-content/uploads/2023/12/robotics-summit-2024-call-for-speakers-768x512.jpg 768w, https://www.therobotreport.com/wp-content/uploads/2023/12/robotics-summit-2024-call-for-speakers-357x238.jpg 357w" sizes="(max-width: 740px) 100vw, 740px" /><span class="title">Robotics Summit Call for Speakers</span></a></div><div class="box-link"><a href="https://www.therobotreport.com/2025-rbr50-robotics-innovation-awards-open-for-nominations/"><img width="341" height="255" src="https://www.therobotreport.com/wp-content/uploads/2024/11/rbr50-2025-1-e1730743432648.jpg" class="attachment-large size-large wp-image-581402" alt="" decoding="async" srcset="https://www.therobotreport.com/wp-content/uploads/2024/11/rbr50-2025-1-e1730743432648.jpg 341w, https://www.therobotreport.com/wp-content/uploads/2024/11/rbr50-2025-1-e1730743432648-300x224.jpg 300w, https://www.therobotreport.com/wp-content/uploads/2024/11/rbr50-2025-1-e1730743432648-150x112.jpg 150w, https://www.therobotreport.com/wp-content/uploads/2024/11/rbr50-2025-1-e1730743432648-318x238.jpg 318w" sizes="(max-width: 341px) 100vw, 341px" /><span class="title">RBR50 Call for Nominees</span></a></div><div class="box-link"><a href="https://www.automatedwarehouseonline.com"><img width="740" height="405" src="https://www.therobotreport.com/wp-content/uploads/2024/03/Automated-Warehouse_Stacked-Samantha-Goodrich-1024x561.png" class="attachment-large size-large wp-image-578186" alt="automated warehouse logo." decoding="async" srcset="https://www.therobotreport.com/wp-content/uploads/2024/03/Automated-Warehouse_Stacked-Samantha-Goodrich-1024x561.png 1024w, https://www.therobotreport.com/wp-content/uploads/2024/03/Automated-Warehouse_Stacked-Samantha-Goodrich-300x164.png 300w, https://www.therobotreport.com/wp-content/uploads/2024/03/Automated-Warehouse_Stacked-Samantha-Goodrich-150x82.png 150w, https://www.therobotreport.com/wp-content/uploads/2024/03/Automated-Warehouse_Stacked-Samantha-Goodrich-768x421.png 768w, https://www.therobotreport.com/wp-content/uploads/2024/03/Automated-Warehouse_Stacked-Samantha-Goodrich-1536x842.png 1536w, https://www.therobotreport.com/wp-content/uploads/2024/03/Automated-Warehouse_Stacked-Samantha-Goodrich-368x202.png 368w, https://www.therobotreport.com/wp-content/uploads/2024/03/Automated-Warehouse_Stacked-Samantha-Goodrich.png 1650w" sizes="(max-width: 740px) 100vw, 740px" /><span class="title">Special Coverage of Warehouse Automation</span></a></div></div><div class="content-sidebar-wrap"><main class="content"><div class="content-sections"><div class="section section-recent-posts"><h4 class="block-header">Robotics News </h4><article class="archive-entry"><header class="entry-header"><p class="entry-meta"><span class="entry-author">By <a href="https://www.therobotreport.com/author/scrowe/" class="entry-author-link" rel="author"><span class="entry-author-name">Steve Crowe</span></a></span> | <time class="entry-time">November 23, 2024</time></p><h2 class="entry-title"><a href="https://www.therobotreport.com/vdma-robotics-automation-association-names-new-chairman/">VDMA Robotics + Automation Association names new chairman</a></h2>Dr. Dietmar Ley, CEO of Basler AG in Ahrensburg, Germany, has been elected as the new chairman of the VDMA Robotics + Automation Association.</header><div class="entry-content"><a class="entry-image-link" href="https://www.therobotreport.com/vdma-robotics-automation-association-names-new-chairman/" aria-hidden="true" tabindex="-1"><img width="300" height="200" src="https://www.therobotreport.com/wp-content/uploads/2024/11/BASLER_Ley_Dietmar-300x200.jpg" class="alignleft post-image entry-image wp-image-581708" alt="VDMA Robotics + Automation Association names new chairman" decoding="async" srcset="https://www.therobotreport.com/wp-content/uploads/2024/11/BASLER_Ley_Dietmar-300x200.jpg 300w, https://www.therobotreport.com/wp-content/uploads/2024/11/BASLER_Ley_Dietmar-150x100.jpg 150w, https://www.therobotreport.com/wp-content/uploads/2024/11/BASLER_Ley_Dietmar-768x512.jpg 768w, https://www.therobotreport.com/wp-content/uploads/2024/11/BASLER_Ley_Dietmar-357x238.jpg 357w, https://www.therobotreport.com/wp-content/uploads/2024/11/BASLER_Ley_Dietmar.jpg 1000w" sizes="(max-width: 300px) 100vw, 300px" /></a></div></article><article class="archive-entry"><header class="entry-header"><p class="entry-meta"><span class="entry-author">By <a href="https://www.therobotreport.com/author/trr-editor/" class="entry-author-link" rel="author"><span class="entry-author-name">The Robot Report Staff</span></a></span> | <time class="entry-time">November 23, 2024</time></p><h2 class="entry-title"><a href="https://www.therobotreport.com/smart-vision-works-introduces-siftai-robotic-potato-sorter/">Smart Vision Works introduces SiftAI robotic potato sorter</a></h2>Smart Vision Works said its SiftAI robotic potato sorter will pay for itself in fewer than two years from installation. </header><div class="entry-content"><a class="entry-image-link" href="https://www.therobotreport.com/smart-vision-works-introduces-siftai-robotic-potato-sorter/" aria-hidden="true" tabindex="-1"><img width="300" height="195" src="https://www.therobotreport.com/wp-content/uploads/2024/11/siftai-featured-300x195.jpg" class="alignleft post-image entry-image wp-image-581715" alt="Smart Vision Works introduces SiftAI robotic potato sorter" decoding="async" srcset="https://www.therobotreport.com/wp-content/uploads/2024/11/siftai-featured-300x195.jpg 300w, https://www.therobotreport.com/wp-content/uploads/2024/11/siftai-featured-150x97.jpg 150w, https://www.therobotreport.com/wp-content/uploads/2024/11/siftai-featured-768x499.jpg 768w, https://www.therobotreport.com/wp-content/uploads/2024/11/siftai-featured-366x238.jpg 366w, https://www.therobotreport.com/wp-content/uploads/2024/11/siftai-featured.jpg 796w" sizes="(max-width: 300px) 100vw, 300px" /></a></div></article><article class="archive-entry"><header class="entry-header"><p class="entry-meta"><span class="entry-author">By <a href="https://www.therobotreport.com/author/moitzman/" class="entry-author-link" rel="author"><span class="entry-author-name">Mike Oitzman</span></a></span> | <time class="entry-time">November 22, 2024</time></p><h2 class="entry-title"><a href="https://www.therobotreport.com/how-ai-perception-are-shaping-mobile-robotics/">How AI, perception are shaping mobile robotics</a></h2>Amir Bousani, CEO of RGO Robotics, and Jacob Petersen, Chief Commercial Officer from Wheel.Me, discuss the importance of perception and AI for mobile robotics.</header><div class="entry-content"><a class="entry-image-link" href="https://www.therobotreport.com/how-ai-perception-are-shaping-mobile-robotics/" aria-hidden="true" tabindex="-1"><img width="300" height="195" src="https://www.therobotreport.com/wp-content/uploads/2024/11/episode-173-cover-300x195.jpg" class="alignleft post-image entry-image wp-image-581723" alt="How AI, perception are shaping mobile robotics" decoding="async" srcset="https://www.therobotreport.com/wp-content/uploads/2024/11/episode-173-cover-300x195.jpg 300w, https://www.therobotreport.com/wp-content/uploads/2024/11/episode-173-cover-150x97.jpg 150w, https://www.therobotreport.com/wp-content/uploads/2024/11/episode-173-cover-768x499.jpg 768w, https://www.therobotreport.com/wp-content/uploads/2024/11/episode-173-cover-368x238.jpg 368w, https://www.therobotreport.com/wp-content/uploads/2024/11/episode-173-cover.jpg 770w" sizes="(max-width: 300px) 100vw, 300px" /></a></div></article><article class="archive-entry"><header class="entry-header"><p class="entry-meta"><span class="entry-author">By <a href="https://www.therobotreport.com/author/moitzman/" class="entry-author-link" rel="author"><span class="entry-author-name">Mike Oitzman</span></a></span> | <time class="entry-time">November 22, 2024</time></p><h2 class="entry-title"><a href="https://www.therobotreport.com/teleo-raises-16-2-million-to-scale-supervised-autonomy-for-heavy-equipment/">Teleo raises $16.2M to scale supervised autonomy for heavy equipment</a></h2>Teleo's autonomy retrofit kit transforms various types of heavy equipment, including bulldozers, wheel loaders, and excavators, into semi-autonomous robots. </header><div class="entry-content"><a class="entry-image-link" href="https://www.therobotreport.com/teleo-raises-16-2-million-to-scale-supervised-autonomy-for-heavy-equipment/" aria-hidden="true" tabindex="-1"><img width="300" height="195" src="https://www.therobotreport.com/wp-content/uploads/2024/11/teleo-featured-300x195.jpg" class="alignleft post-image entry-image wp-image-581705" alt="Teleo raises $16.2M to scale supervised autonomy for heavy equipment" decoding="async" srcset="https://www.therobotreport.com/wp-content/uploads/2024/11/teleo-featured-300x195.jpg 300w, https://www.therobotreport.com/wp-content/uploads/2024/11/teleo-featured-150x97.jpg 150w, https://www.therobotreport.com/wp-content/uploads/2024/11/teleo-featured-768x499.jpg 768w, https://www.therobotreport.com/wp-content/uploads/2024/11/teleo-featured-368x238.jpg 368w, https://www.therobotreport.com/wp-content/uploads/2024/11/teleo-featured.jpg 770w" sizes="(max-width: 300px) 100vw, 300px" /></a></div></article><article class="archive-entry"><header class="entry-header"><p class="entry-meta"><span class="entry-author">By <a href="https://www.therobotreport.com/author/trr-editor/" class="entry-author-link" rel="author"><span class="entry-author-name">The Robot Report Staff</span></a></span> | <time class="entry-time">November 22, 2024</time></p><h2 class="entry-title"><a href="https://www.therobotreport.com/nyu-langone-uses-da-vinci-xi-robotic-system-to-perform-double-lung-transplant/">NYU Langone uses da Vinci Xi robotic system to perform double lung transplant</a></h2>Surgeons at NYU Langone have performed a fully robotic double lung transplant with Intuitive Surgical's da Vinci Xi.</header><div class="entry-content"><a class="entry-image-link" href="https://www.therobotreport.com/nyu-langone-uses-da-vinci-xi-robotic-system-to-perform-double-lung-transplant/" aria-hidden="true" tabindex="-1"><img width="300" height="195" src="https://www.therobotreport.com/wp-content/uploads/2024/11/roboticlungtransplant-featured-300x195.jpg" class="alignleft post-image entry-image wp-image-581701" alt="NYU Langone uses da Vinci Xi robotic system to perform double lung transplant" decoding="async" srcset="https://www.therobotreport.com/wp-content/uploads/2024/11/roboticlungtransplant-featured-300x195.jpg 300w, https://www.therobotreport.com/wp-content/uploads/2024/11/roboticlungtransplant-featured-150x97.jpg 150w, https://www.therobotreport.com/wp-content/uploads/2024/11/roboticlungtransplant-featured-768x498.jpg 768w, https://www.therobotreport.com/wp-content/uploads/2024/11/roboticlungtransplant-featured-368x238.jpg 368w, https://www.therobotreport.com/wp-content/uploads/2024/11/roboticlungtransplant-featured.jpg 1000w" sizes="(max-width: 300px) 100vw, 300px" /></a></div></article><article class="archive-entry"><header class="entry-header"><p class="entry-meta"><span class="entry-author">By <a href="https://www.therobotreport.com/author/edemaitre/" class="entry-author-link" rel="author"><span class="entry-author-name">Eugene Demaitre</span></a></span> | <time class="entry-time">November 22, 2024</time></p><h2 class="entry-title"><a href="https://www.therobotreport.com/a3-calls-on-incoming-administration-support-robotics-q3-slowdown/">A3 calls on incoming administration to support robotics, as Q3 stats show slowdown</a></h2>A3 reported declines in North American robot orders in the first nine months of 2024 but said there are reasons for optimism.</header><div class="entry-content"><a class="entry-image-link" href="https://www.therobotreport.com/a3-calls-on-incoming-administration-support-robotics-q3-slowdown/" aria-hidden="true" tabindex="-1"><img width="300" height="207" src="https://www.therobotreport.com/wp-content/uploads/2024/11/A3_Q3_2024_new_orders_units-300x207.jpg" class="alignleft post-image entry-image wp-image-581695" alt="A3 calls on incoming administration to support robotics, as Q3 stats show slowdown" decoding="async" srcset="https://www.therobotreport.com/wp-content/uploads/2024/11/A3_Q3_2024_new_orders_units-300x207.jpg 300w, https://www.therobotreport.com/wp-content/uploads/2024/11/A3_Q3_2024_new_orders_units-1024x708.jpg 1024w, https://www.therobotreport.com/wp-content/uploads/2024/11/A3_Q3_2024_new_orders_units-150x104.jpg 150w, https://www.therobotreport.com/wp-content/uploads/2024/11/A3_Q3_2024_new_orders_units-768x531.jpg 768w, https://www.therobotreport.com/wp-content/uploads/2024/11/A3_Q3_2024_new_orders_units-344x238.jpg 344w, https://www.therobotreport.com/wp-content/uploads/2024/11/A3_Q3_2024_new_orders_units.jpg 1206w" sizes="(max-width: 300px) 100vw, 300px" /></a></div></article><article class="archive-entry"><header class="entry-header"><p class="entry-meta"><span class="entry-author">By <a href="https://www.therobotreport.com/author/trr-editor/" class="entry-author-link" rel="author"><span class="entry-author-name">The Robot Report Staff</span></a></span> | <time class="entry-time">November 22, 2024</time></p><h2 class="entry-title"><a href="https://www.therobotreport.com/maxon-unveils-high-efficiency-joint-70-actuator-for-dynamic-robots/">maxon unveils High Efficiency Joint 70 actuator for dynamic robots</a></h2>The HEJ 70-48-50 is designed for a variety of robots that work in unstructured environments, including humanoids, quadrupeds, exoskeletons, and mobile manipulators.</header><div class="entry-content"><a class="entry-image-link" href="https://www.therobotreport.com/maxon-unveils-high-efficiency-joint-70-actuator-for-dynamic-robots/" aria-hidden="true" tabindex="-1"><img width="300" height="263" src="https://www.therobotreport.com/wp-content/uploads/2024/11/maxon-HEJ-70-Picture-1-300x263.jpg" class="alignleft post-image entry-image wp-image-581689" alt="maxon unveils High Efficiency Joint 70 actuator for dynamic robots" decoding="async" srcset="https://www.therobotreport.com/wp-content/uploads/2024/11/maxon-HEJ-70-Picture-1-300x263.jpg 300w, https://www.therobotreport.com/wp-content/uploads/2024/11/maxon-HEJ-70-Picture-1-150x131.jpg 150w, https://www.therobotreport.com/wp-content/uploads/2024/11/maxon-HEJ-70-Picture-1-272x238.jpg 272w, https://www.therobotreport.com/wp-content/uploads/2024/11/maxon-HEJ-70-Picture-1.jpg 600w" sizes="(max-width: 300px) 100vw, 300px" /></a></div></article><article class="archive-entry"><header class="entry-header"><p class="entry-meta"><span class="entry-author">By <a href="https://www.therobotreport.com/author/bwessling/" class="entry-author-link" rel="author"><span class="entry-author-name">Brianna Wessling</span></a></span> | <time class="entry-time">November 22, 2024</time></p><h2 class="entry-title"><a href="https://www.therobotreport.com/red-cat-wins-u-s-army-next-gen-drone-contract-over-skydio/">Red Cat wins U.S. Army next-gen drone contract over Skydio</a></h2>While Skydio lost out on its U.S. Army contract to Red Cat, it did bring in $170 million in funding this week. </header><div class="entry-content"><a class="entry-image-link" href="https://www.therobotreport.com/red-cat-wins-u-s-army-next-gen-drone-contract-over-skydio/" aria-hidden="true" tabindex="-1"><img width="300" height="195" src="https://www.therobotreport.com/wp-content/uploads/2024/11/blackwidow-featured-300x195.jpg" class="alignleft post-image entry-image wp-image-581684" alt="Red Cat wins U.S. Army next-gen drone contract over Skydio" decoding="async" srcset="https://www.therobotreport.com/wp-content/uploads/2024/11/blackwidow-featured-300x195.jpg 300w, https://www.therobotreport.com/wp-content/uploads/2024/11/blackwidow-featured-150x97.jpg 150w, https://www.therobotreport.com/wp-content/uploads/2024/11/blackwidow-featured-768x498.jpg 768w, https://www.therobotreport.com/wp-content/uploads/2024/11/blackwidow-featured-368x238.jpg 368w, https://www.therobotreport.com/wp-content/uploads/2024/11/blackwidow-featured.jpg 1000w" sizes="(max-width: 300px) 100vw, 300px" /></a></div></article><article class="archive-entry"><header class="entry-header"><p class="entry-meta"><span class="entry-author">By <a href="https://www.therobotreport.com/author/trr-editor/" class="entry-author-link" rel="author"><span class="entry-author-name">The Robot Report Staff</span></a></span> | <time class="entry-time">November 21, 2024</time></p><h2 class="entry-title"><a href="https://www.therobotreport.com/pickle-robot-gets-orders-over-30-unloading-systems-plus-50m-funding/">Pickle Robot gets orders for over 30 unloading systems plus $50M in funding</a></h2>Pickle Robot plans to deploy more trailer-unloading robots and to use its latest funding to expand into new locations.</header><div class="entry-content"><a class="entry-image-link" href="https://www.therobotreport.com/pickle-robot-gets-orders-over-30-unloading-systems-plus-50m-funding/" aria-hidden="true" tabindex="-1"><img width="300" height="194" src="https://www.therobotreport.com/wp-content/uploads/2024/11/press_release_closeup-copy-300x194.jpg" class="alignleft post-image entry-image wp-image-581681" alt="Pickle Robot gets orders for over 30 unloading systems plus $50M in funding" decoding="async" srcset="https://www.therobotreport.com/wp-content/uploads/2024/11/press_release_closeup-copy-300x194.jpg 300w, https://www.therobotreport.com/wp-content/uploads/2024/11/press_release_closeup-copy-150x97.jpg 150w, https://www.therobotreport.com/wp-content/uploads/2024/11/press_release_closeup-copy-768x496.jpg 768w, https://www.therobotreport.com/wp-content/uploads/2024/11/press_release_closeup-copy-368x238.jpg 368w, https://www.therobotreport.com/wp-content/uploads/2024/11/press_release_closeup-copy.jpg 770w" sizes="(max-width: 300px) 100vw, 300px" /></a></div></article><article class="archive-entry"><header class="entry-header"><p class="entry-meta"><span class="entry-author">By <a href="https://www.therobotreport.com/author/trr-editor/" class="entry-author-link" rel="author"><span class="entry-author-name">The Robot Report Staff</span></a></span> | <time class="entry-time">November 21, 2024</time></p><h2 class="entry-title"><a href="https://www.therobotreport.com/aerovironment-acquiring-bluehalo-to-boost-defense-tech/">AeroVironment acquiring BlueHalo for $4.1B to boost defense tech</a></h2>On a pro forma basis, the combined company expects to deliver more than $1.7 billion in revenue.</header><div class="entry-content"><a class="entry-image-link" href="https://www.therobotreport.com/aerovironment-acquiring-bluehalo-to-boost-defense-tech/" aria-hidden="true" tabindex="-1"><img width="300" height="195" src="https://www.therobotreport.com/wp-content/uploads/2024/11/aerovironment-featured-300x195.jpg" class="alignleft post-image entry-image wp-image-581669" alt="AeroVironment acquiring BlueHalo for $4.1B to boost defense tech" decoding="async" srcset="https://www.therobotreport.com/wp-content/uploads/2024/11/aerovironment-featured-300x195.jpg 300w, https://www.therobotreport.com/wp-content/uploads/2024/11/aerovironment-featured-150x97.jpg 150w, https://www.therobotreport.com/wp-content/uploads/2024/11/aerovironment-featured-768x499.jpg 768w, https://www.therobotreport.com/wp-content/uploads/2024/11/aerovironment-featured-368x238.jpg 368w, https://www.therobotreport.com/wp-content/uploads/2024/11/aerovironment-featured.jpg 770w" sizes="(max-width: 300px) 100vw, 300px" /></a></div></article><article class="archive-entry"><header class="entry-header"><p class="entry-meta"><span class="entry-author">By <a href="https://www.therobotreport.com/author/trr-editor/" class="entry-author-link" rel="author"><span class="entry-author-name">The Robot Report Staff</span></a></span> | <time class="entry-time">November 21, 2024</time></p><h2 class="entry-title"><a href="https://www.therobotreport.com/duality-ai-offers-developers-edu-license-for-falcon-digital-twins-synthetic-data/">Duality AI offers developers EDU license for Falcon digital twins, synthetic data</a></h2>The EDU program offers subscribers full access to Falcon’s comprehensive feature set, alongside community resources developed by Duality AI.</header><div class="entry-content"><a class="entry-image-link" href="https://www.therobotreport.com/duality-ai-offers-developers-edu-license-for-falcon-digital-twins-synthetic-data/" aria-hidden="true" tabindex="-1"><img width="300" height="195" src="https://www.therobotreport.com/wp-content/uploads/2024/11/FalconEditor_Scenarios-featured-300x195.jpg" class="alignleft post-image entry-image wp-image-581674" alt="Duality AI offers developers EDU license for Falcon digital twins, synthetic data" decoding="async" srcset="https://www.therobotreport.com/wp-content/uploads/2024/11/FalconEditor_Scenarios-featured-300x195.jpg 300w, https://www.therobotreport.com/wp-content/uploads/2024/11/FalconEditor_Scenarios-featured-150x97.jpg 150w, https://www.therobotreport.com/wp-content/uploads/2024/11/FalconEditor_Scenarios-featured-768x499.jpg 768w, https://www.therobotreport.com/wp-content/uploads/2024/11/FalconEditor_Scenarios-featured-368x238.jpg 368w, https://www.therobotreport.com/wp-content/uploads/2024/11/FalconEditor_Scenarios-featured.jpg 770w" sizes="(max-width: 300px) 100vw, 300px" /></a></div></article><article class="archive-entry"><header class="entry-header"><p class="entry-meta"><span class="entry-author">By <a href="https://www.therobotreport.com/author/trr-editor/" class="entry-author-link" rel="author"><span class="entry-author-name">The Robot Report Staff</span></a></span> | <time class="entry-time">November 20, 2024</time></p><h2 class="entry-title"><a href="https://www.therobotreport.com/mc600-combines-ur-cobot-with-mir-base-for-mobile-manipulation/">MC600 combines UR cobot with MiR base for mobile manipulation</a></h2>The MC600 is designed to handle heavier payloads for mobile manipulation using Universal Robots and Mobile Industrial Robots technology.</header><div class="entry-content"><a class="entry-image-link" href="https://www.therobotreport.com/mc600-combines-ur-cobot-with-mir-base-for-mobile-manipulation/" aria-hidden="true" tabindex="-1"><img width="300" height="193" src="https://www.therobotreport.com/wp-content/uploads/2024/11/MiR_MC600-300x193.jpg" class="alignleft post-image entry-image wp-image-581673" alt="MC600 combines UR cobot with MiR base for mobile manipulation" decoding="async" srcset="https://www.therobotreport.com/wp-content/uploads/2024/11/MiR_MC600-300x193.jpg 300w, https://www.therobotreport.com/wp-content/uploads/2024/11/MiR_MC600-150x97.jpg 150w, https://www.therobotreport.com/wp-content/uploads/2024/11/MiR_MC600-768x495.jpg 768w, https://www.therobotreport.com/wp-content/uploads/2024/11/MiR_MC600-368x238.jpg 368w, https://www.therobotreport.com/wp-content/uploads/2024/11/MiR_MC600.jpg 770w" sizes="(max-width: 300px) 100vw, 300px" /></a></div></article><p style="text-align:center;"><a href="https://www.therobotreport.com/robotics-news/" class="button button-large">Read All Articles ></a></p></div><div class="section section-category-posts style-standard"><h4 class="block-header"> Humanoid and Exoskeleton Motion, From Design to Delivery <a href="https://www.therobotreport.com/category/sponsored-content/better-humanoid-and-exoskeleton-motion-from-design-to-delivery/">See More ></a></h4><div class="post-listing row"><div class="col-sm-6"><article class="entry-summary large"><a href="https://www.therobotreport.com/design-considerations-for-humanoid-robot-optimization/" class="entry-image-link"><img width="368" height="238" src="https://www.therobotreport.com/wp-content/uploads/2024/01/kollmorgen-sponsored-hero-image-january2024-article5-1-368x238.jpg" class="attachment-ea_product size-ea_product wp-image-577685 wp-post-image" alt="" decoding="async" srcset="https://www.therobotreport.com/wp-content/uploads/2024/01/kollmorgen-sponsored-hero-image-january2024-article5-1-368x238.jpg 368w, https://www.therobotreport.com/wp-content/uploads/2024/01/kollmorgen-sponsored-hero-image-january2024-article5-1-300x195.jpg 300w, https://www.therobotreport.com/wp-content/uploads/2024/01/kollmorgen-sponsored-hero-image-january2024-article5-1-150x97.jpg 150w, https://www.therobotreport.com/wp-content/uploads/2024/01/kollmorgen-sponsored-hero-image-january2024-article5-1-768x499.jpg 768w, https://www.therobotreport.com/wp-content/uploads/2024/01/kollmorgen-sponsored-hero-image-january2024-article5-1.jpg 770w" sizes="(max-width: 368px) 100vw, 368px" /></a><h4 class="entry-title"><a href="https://www.therobotreport.com/design-considerations-for-humanoid-robot-optimization/">Design considerations for humanoid robot optimization</a></h4><div class="entry-content"><p>Learn how to build function + manufacturability into your prototype</p> </div></article></div><div class="col-sm-6"><article class="entry-summary"><a href="https://www.therobotreport.com/3-tips-to-accelerate-humanoids-from-concept-to-prototype-to-production/" class="entry-image-link"><img width="268" height="170" src="https://www.therobotreport.com/wp-content/uploads/2024/01/kollmorgen-sponsored-hero-image-january2024-article4-1-268x170.jpg" class="attachment-ea_summary size-ea_summary wp-image-577684 wp-post-image" alt="" decoding="async" /></a><h5 class="entry-title"><a href="https://www.therobotreport.com/3-tips-to-accelerate-humanoids-from-concept-to-prototype-to-production/">3 Tips to Accelerate Humanoids from Concept to Prototype to Production</a></h5></article><article class="entry-summary"><a href="https://www.therobotreport.com/learn-how-humotech-enhances-human-performance-through-advanced-motion-control/" class="entry-image-link"><img width="268" height="170" src="https://www.therobotreport.com/wp-content/uploads/2024/01/kollmorgen-sponsored-hero-image-january2024-article3-268x170.png" class="attachment-ea_summary size-ea_summary wp-image-577683 wp-post-image" alt="" decoding="async" /></a><h5 class="entry-title"><a href="https://www.therobotreport.com/learn-how-humotech-enhances-human-performance-through-advanced-motion-control/">Learn how Humotech enhances human performance through advanced motion control</a></h5></article><article class="entry-summary"><a href="https://www.therobotreport.com/excel-in-the-exponentially-growing-humanoid-robot-market/" class="entry-image-link"><img width="268" height="170" src="https://www.therobotreport.com/wp-content/uploads/2024/01/kollmorgen-sponsored-hero-image-january2024-article2-268x170.png" class="attachment-ea_summary size-ea_summary wp-image-577682 wp-post-image" alt="" decoding="async" /></a><h5 class="entry-title"><a href="https://www.therobotreport.com/excel-in-the-exponentially-growing-humanoid-robot-market/">Excel in the exponentially growing humanoid robot market</a></h5></article><article class="entry-summary"><a href="https://www.therobotreport.com/motion-control-fundamentals-for-humanoids-exoskeletons/" class="entry-image-link"><img width="268" height="170" src="https://www.therobotreport.com/wp-content/uploads/2024/01/kollmorgen-sponsored-featured-image-january2024-article1-268x170.jpg" class="attachment-ea_summary size-ea_summary wp-image-577671 wp-post-image" alt="" decoding="async" /></a><h5 class="entry-title"><a href="https://www.therobotreport.com/motion-control-fundamentals-for-humanoids-exoskeletons/">Motion Control Fundamentals for Humanoids & Exoskeletons</a></h5></article></div></div></div><div class="section section-category-posts style-standard"><h4 class="block-header">Hydrus - Micro-AUV <a href="https://www.therobotreport.com/category/sponsored-content/hydrus-micro-auv/">See More ></a></h4><div class="post-listing row"><div class="col-sm-6"><article class="entry-summary large"><a href="https://www.therobotreport.com/advanced-navigations-hydrus-explores-shipwrecks-indian-ocean/" class="entry-image-link"><img width="368" height="238" src="https://www.therobotreport.com/wp-content/uploads/2024/04/Advanced-Navigation-Micro-AUV-Hydrus-deployed-featured-368x238.jpg" class="attachment-ea_product size-ea_product wp-image-578772 wp-post-image" alt="Advanced Navigation's Hydrus micro autonomous underwater vehicle (AUV) deployed." decoding="async" srcset="https://www.therobotreport.com/wp-content/uploads/2024/04/Advanced-Navigation-Micro-AUV-Hydrus-deployed-featured-368x238.jpg 368w, https://www.therobotreport.com/wp-content/uploads/2024/04/Advanced-Navigation-Micro-AUV-Hydrus-deployed-featured-300x195.jpg 300w, https://www.therobotreport.com/wp-content/uploads/2024/04/Advanced-Navigation-Micro-AUV-Hydrus-deployed-featured-150x97.jpg 150w, https://www.therobotreport.com/wp-content/uploads/2024/04/Advanced-Navigation-Micro-AUV-Hydrus-deployed-featured-768x499.jpg 768w, https://www.therobotreport.com/wp-content/uploads/2024/04/Advanced-Navigation-Micro-AUV-Hydrus-deployed-featured.jpg 770w" sizes="(max-width: 368px) 100vw, 368px" /></a><h4 class="entry-title"><a href="https://www.therobotreport.com/advanced-navigations-hydrus-explores-shipwrecks-indian-ocean/">Advanced Navigation’s Hydrus explores shipwrecks in the Indian Ocean</a></h4><div class="entry-content"><p>Advanced Navigation recently sent Hydrus to the depths of the Rottnest ship graveyard, located off the coast of Western Australia. </p> </div></article></div><div class="col-sm-6"><article class="entry-summary"><a href="https://www.therobotreport.com/hydrus-functionality-in-the-field-unveiling-the-depths-of-ocean-intelligence/" class="entry-image-link"><img width="268" height="170" src="https://www.therobotreport.com/wp-content/uploads/2023/12/advanced-navigation-sponsored-featured-image-december2023-article2-268x170.png" class="attachment-ea_summary size-ea_summary wp-image-568862 wp-post-image" alt="" decoding="async" /></a><h5 class="entry-title"><a href="https://www.therobotreport.com/hydrus-functionality-in-the-field-unveiling-the-depths-of-ocean-intelligence/">Hydrus Functionality In The Field: Unveiling The Depths Of Ocean Intelligence</a></h5></article><article class="entry-summary"><a href="https://www.therobotreport.com/underwater-drone-hydrus-completes-successful-simulation-to-identify-hazards-in-tropical-waters/" class="entry-image-link"><img width="268" height="170" src="https://www.therobotreport.com/wp-content/uploads/2023/12/advanced-navigation-sponsored-featured-image-december2023-article4-268x170.jpg" class="attachment-ea_summary size-ea_summary wp-image-568870 wp-post-image" alt="" decoding="async" /></a><h5 class="entry-title"><a href="https://www.therobotreport.com/underwater-drone-hydrus-completes-successful-simulation-to-identify-hazards-in-tropical-waters/">Underwater Drone Hydrus Completes Successful Simulation To Identify Hazards In Tropical Waters</a></h5></article><article class="entry-summary"><a href="https://www.therobotreport.com/how-micro-auvs-can-change-the-conversation-about-rig-to-reef-programs/" class="entry-image-link"><img width="268" height="170" src="https://www.therobotreport.com/wp-content/uploads/2023/12/advanced-navigation-sponsored-featured-image-december2023-article3-268x170.jpg" class="attachment-ea_summary size-ea_summary wp-image-568863 wp-post-image" alt="" decoding="async" /></a><h5 class="entry-title"><a href="https://www.therobotreport.com/how-micro-auvs-can-change-the-conversation-about-rig-to-reef-programs/">How Micro-AUVs can Change the Conversation About Rig-to-Reef Programs</a></h5></article><article class="entry-summary"><a href="https://www.therobotreport.com/enhancing-aquaculture-sustainability-with-hydrus/" class="entry-image-link"><img width="268" height="170" src="https://www.therobotreport.com/wp-content/uploads/2023/12/advanced-navigation-sponsored-featured-image-december2023-article1-268x170.png" class="attachment-ea_summary size-ea_summary wp-image-568857 wp-post-image" alt="" decoding="async" /></a><h5 class="entry-title"><a href="https://www.therobotreport.com/enhancing-aquaculture-sustainability-with-hydrus/">Enhancing Aquaculture Sustainability With Hydrus</a></h5></article></div></div></div><div class="section section-category-posts style-standard"><h4 class="block-header">Design / Development <a href="https://www.therobotreport.com/category/design-development/">See More ></a></h4><div class="post-listing row"><div class="col-sm-6"><article class="entry-summary large"><a href="https://www.therobotreport.com/smart-vision-works-introduces-siftai-robotic-potato-sorter/" class="entry-image-link"><img width="366" height="238" src="https://www.therobotreport.com/wp-content/uploads/2024/11/siftai-featured-366x238.jpg" class="attachment-ea_product size-ea_product wp-image-581715 wp-post-image" alt="Two SiftAI Robotic Sorters from Smart Vision Works sort potatoes as they go down a conveyor belt." decoding="async" srcset="https://www.therobotreport.com/wp-content/uploads/2024/11/siftai-featured-366x238.jpg 366w, https://www.therobotreport.com/wp-content/uploads/2024/11/siftai-featured-300x195.jpg 300w, https://www.therobotreport.com/wp-content/uploads/2024/11/siftai-featured-150x97.jpg 150w, https://www.therobotreport.com/wp-content/uploads/2024/11/siftai-featured-768x499.jpg 768w, https://www.therobotreport.com/wp-content/uploads/2024/11/siftai-featured.jpg 796w" sizes="(max-width: 366px) 100vw, 366px" /></a><h4 class="entry-title"><a href="https://www.therobotreport.com/smart-vision-works-introduces-siftai-robotic-potato-sorter/">Smart Vision Works introduces SiftAI robotic potato sorter</a></h4><div class="entry-content"><p>Smart Vision Works said its SiftAI robotic potato sorter will pay for itself in fewer than two years from installation. </p> </div></article></div><div class="col-sm-6"><article class="entry-summary"><a href="https://www.therobotreport.com/how-ai-perception-are-shaping-mobile-robotics/" class="entry-image-link"><img width="268" height="170" src="https://www.therobotreport.com/wp-content/uploads/2024/11/episode-173-cover-268x170.jpg" class="attachment-ea_summary size-ea_summary wp-image-581723 wp-post-image" alt="Headshots of Amir Bousani and Jacob Petersen with the podcast logo." decoding="async" /></a><h5 class="entry-title"><a href="https://www.therobotreport.com/how-ai-perception-are-shaping-mobile-robotics/">How AI, perception are shaping mobile robotics</a></h5></article><article class="entry-summary"><a href="https://www.therobotreport.com/duality-ai-offers-developers-edu-license-for-falcon-digital-twins-synthetic-data/" class="entry-image-link"><img width="268" height="170" src="https://www.therobotreport.com/wp-content/uploads/2024/11/FalconEditor_Scenarios-featured-268x170.jpg" class="attachment-ea_summary size-ea_summary wp-image-581674 wp-post-image" alt="Scenarios in Duality AI's Falcon Editor, including an electrical tower, an automated guided vehicle, an autonomous mobile robot, and a humanoid robot." decoding="async" /></a><h5 class="entry-title"><a href="https://www.therobotreport.com/duality-ai-offers-developers-edu-license-for-falcon-digital-twins-synthetic-data/">Duality AI offers developers EDU license for Falcon digital twins, synthetic data</a></h5></article><article class="entry-summary"><a href="https://www.therobotreport.com/anello-photonics-secures-funding-inertial-navigation-gps-denied-environments/" class="entry-image-link"><img width="268" height="170" src="https://www.therobotreport.com/wp-content/uploads/2024/11/ANELLO_eval-268x170.jpg" class="attachment-ea_summary size-ea_summary wp-image-581642 wp-post-image" alt="ANELLO evaluation kit for its SiPhOG optical navigation system." decoding="async" /></a><h5 class="entry-title"><a href="https://www.therobotreport.com/anello-photonics-secures-funding-inertial-navigation-gps-denied-environments/">ANELLO Photonics secures funding for inertial navigation in GPS-denied environments</a></h5></article><article class="entry-summary"><a href="https://www.therobotreport.com/nuro-driver-expands-level-4-autonomous-deliveries-california-texas/" class="entry-image-link"><img width="268" height="170" src="https://www.therobotreport.com/wp-content/uploads/2024/11/Nuro-L4-expansion-featured-268x170.jpg" class="attachment-ea_summary size-ea_summary wp-image-581632 wp-post-image" alt="A small, boxy, white Nuro vehicle driving on a road with a glass building behind it." decoding="async" /></a><h5 class="entry-title"><a href="https://www.therobotreport.com/nuro-driver-expands-level-4-autonomous-deliveries-california-texas/">Nuro Driver expands Level 4 autonomous fleet in California and Texas</a></h5></article></div></div></div><div class="section section-wrapper"><!-- need GAM tag --></div><div class="section section-wrapper"><!-- need GAM tag --></div><div class="section section-category-posts style-standard"><h4 class="block-header">Collaborative Robots <a href="https://www.therobotreport.com/category/robots-platforms/collaborative-robot/">See More ></a></h4><div class="post-listing row"><div class="col-sm-6"><article class="entry-summary large"><a href="https://www.therobotreport.com/how-ai-perception-are-shaping-mobile-robotics/" class="entry-image-link"><img width="368" height="238" src="https://www.therobotreport.com/wp-content/uploads/2024/11/episode-173-cover-368x238.jpg" class="attachment-ea_product size-ea_product wp-image-581723 wp-post-image" alt="Headshots of Amir Bousani and Jacob Petersen with the podcast logo." decoding="async" srcset="https://www.therobotreport.com/wp-content/uploads/2024/11/episode-173-cover-368x238.jpg 368w, https://www.therobotreport.com/wp-content/uploads/2024/11/episode-173-cover-300x195.jpg 300w, https://www.therobotreport.com/wp-content/uploads/2024/11/episode-173-cover-150x97.jpg 150w, https://www.therobotreport.com/wp-content/uploads/2024/11/episode-173-cover-768x499.jpg 768w, https://www.therobotreport.com/wp-content/uploads/2024/11/episode-173-cover.jpg 770w" sizes="(max-width: 368px) 100vw, 368px" /></a><h4 class="entry-title"><a href="https://www.therobotreport.com/how-ai-perception-are-shaping-mobile-robotics/">How AI, perception are shaping mobile robotics</a></h4><div class="entry-content"><p>Amir Bousani, CEO of RGO Robotics, and Jacob Petersen, Chief Commercial Officer from Wheel.Me, discuss the importance of perception and AI for mobile robotics.</p> </div></article></div><div class="col-sm-6"><article class="entry-summary"><a href="https://www.therobotreport.com/mc600-combines-ur-cobot-with-mir-base-for-mobile-manipulation/" class="entry-image-link"><img width="268" height="170" src="https://www.therobotreport.com/wp-content/uploads/2024/11/MiR_MC600-268x170.jpg" class="attachment-ea_summary size-ea_summary wp-image-581673 wp-post-image" alt="The MC600 is designed for reliable mobile manipulation, says MiR." decoding="async" /></a><h5 class="entry-title"><a href="https://www.therobotreport.com/mc600-combines-ur-cobot-with-mir-base-for-mobile-manipulation/">MC600 combines UR cobot with MiR base for mobile manipulation</a></h5></article><article class="entry-summary"><a href="https://www.therobotreport.com/collaborative-robotics-unveils-proxie-mobile-manipulator/" class="entry-image-link"><img width="268" height="170" src="https://www.therobotreport.com/wp-content/uploads/2024/11/cobot-proxie-featured-268x170.jpg" class="attachment-ea_summary size-ea_summary wp-image-581666 wp-post-image" alt="Proxie in a warehouse." decoding="async" /></a><h5 class="entry-title"><a href="https://www.therobotreport.com/collaborative-robotics-unveils-proxie-mobile-manipulator/">Collaborative Robotics unveils Proxie mobile manipulator</a></h5></article><article class="entry-summary"><a href="https://www.therobotreport.com/flexiv-releases-elements-series-3-simplify-robot-simulation-programming/" class="entry-image-link"><img width="268" height="170" src="https://www.therobotreport.com/wp-content/uploads/2024/11/Elements-Series-3-Hero-copy-268x170.jpg" class="attachment-ea_summary size-ea_summary wp-image-581658 wp-post-image" alt="Elements Series 3 from Flexiv is designed to ease robot programming." decoding="async" /></a><h5 class="entry-title"><a href="https://www.therobotreport.com/flexiv-releases-elements-series-3-simplify-robot-simulation-programming/">Flexiv releases Elements Series 3 to simplify robot simulation, programming</a></h5></article><article class="entry-summary"><a href="https://www.therobotreport.com/abb-edge-using-ai-robotics-transform-industries/" class="entry-image-link"><img width="268" height="170" src="https://www.therobotreport.com/wp-content/uploads/2024/11/episode-172-coverRobotics-268x170.jpg" class="attachment-ea_summary size-ea_summary wp-image-581636 wp-post-image" alt="headshot of Marc Segura with podcast logo." decoding="async" /></a><h5 class="entry-title"><a href="https://www.therobotreport.com/abb-edge-using-ai-robotics-transform-industries/">The ABB Edge: Using AI and robotics to transform industries</a></h5></article></div></div></div><div class="section section-wrapper"><!-- need GAM tag --></div><div class="section section-category-posts style-standard"><h4 class="block-header">Investments <a href="https://www.therobotreport.com/category/financial/investments-funding/">See More ></a></h4><div class="post-listing row"><div class="col-sm-6"><article class="entry-summary large"><a href="https://www.therobotreport.com/teleo-raises-16-2-million-to-scale-supervised-autonomy-for-heavy-equipment/" class="entry-image-link"><img width="368" height="238" src="https://www.therobotreport.com/wp-content/uploads/2024/11/teleo-featured-368x238.jpg" class="attachment-ea_product size-ea_product wp-image-581705 wp-post-image" alt="an operator sits at the teleo operations center controlling a remote construction vehicle." decoding="async" srcset="https://www.therobotreport.com/wp-content/uploads/2024/11/teleo-featured-368x238.jpg 368w, https://www.therobotreport.com/wp-content/uploads/2024/11/teleo-featured-300x195.jpg 300w, https://www.therobotreport.com/wp-content/uploads/2024/11/teleo-featured-150x97.jpg 150w, https://www.therobotreport.com/wp-content/uploads/2024/11/teleo-featured-768x499.jpg 768w, https://www.therobotreport.com/wp-content/uploads/2024/11/teleo-featured.jpg 770w" sizes="(max-width: 368px) 100vw, 368px" /></a><h4 class="entry-title"><a href="https://www.therobotreport.com/teleo-raises-16-2-million-to-scale-supervised-autonomy-for-heavy-equipment/">Teleo raises $16.2M to scale supervised autonomy for heavy equipment</a></h4><div class="entry-content"><p>Teleo’s autonomy retrofit kit transforms various types of heavy equipment, including bulldozers, wheel loaders, and excavators, into semi-autonomous robots. </p> </div></article></div><div class="col-sm-6"><article class="entry-summary"><a href="https://www.therobotreport.com/red-cat-wins-u-s-army-next-gen-drone-contract-over-skydio/" class="entry-image-link"><img width="268" height="170" src="https://www.therobotreport.com/wp-content/uploads/2024/11/blackwidow-featured-268x170.jpg" class="attachment-ea_summary size-ea_summary wp-image-581684 wp-post-image" alt="A solder in camo and sunglasses looking into the camera and holding Red Cat's Black Widow drone." decoding="async" srcset="https://www.therobotreport.com/wp-content/uploads/2024/11/blackwidow-featured-268x170.jpg 268w, https://www.therobotreport.com/wp-content/uploads/2024/11/blackwidow-featured-1000x630.jpg 1000w" sizes="(max-width: 268px) 100vw, 268px" /></a><h5 class="entry-title"><a href="https://www.therobotreport.com/red-cat-wins-u-s-army-next-gen-drone-contract-over-skydio/">Red Cat wins U.S. Army next-gen drone contract over Skydio</a></h5></article><article class="entry-summary"><a href="https://www.therobotreport.com/pickle-robot-gets-orders-over-30-unloading-systems-plus-50m-funding/" class="entry-image-link"><img width="268" height="170" src="https://www.therobotreport.com/wp-content/uploads/2024/11/press_release_closeup-copy-268x170.jpg" class="attachment-ea_summary size-ea_summary wp-image-581681 wp-post-image" alt="Pickle applies AI and computer vision to unload a range of items." decoding="async" /></a><h5 class="entry-title"><a href="https://www.therobotreport.com/pickle-robot-gets-orders-over-30-unloading-systems-plus-50m-funding/">Pickle Robot gets orders for over 30 unloading systems plus $50M in funding</a></h5></article><article class="entry-summary"><a href="https://www.therobotreport.com/anello-photonics-secures-funding-inertial-navigation-gps-denied-environments/" class="entry-image-link"><img width="268" height="170" src="https://www.therobotreport.com/wp-content/uploads/2024/11/ANELLO_eval-268x170.jpg" class="attachment-ea_summary size-ea_summary wp-image-581642 wp-post-image" alt="ANELLO evaluation kit for its SiPhOG optical navigation system." decoding="async" /></a><h5 class="entry-title"><a href="https://www.therobotreport.com/anello-photonics-secures-funding-inertial-navigation-gps-denied-environments/">ANELLO Photonics secures funding for inertial navigation in GPS-denied environments</a></h5></article><article class="entry-summary"><a href="https://www.therobotreport.com/zap-surgical-systems-obtains-78m-commercialize-gyroscopic-radiosurgery-platform/" class="entry-image-link"><img width="268" height="170" src="https://www.therobotreport.com/wp-content/uploads/2024/11/ZAP-Munich-featured-268x170.jpg" class="attachment-ea_summary size-ea_summary wp-image-581562 wp-post-image" alt="A side view of ZAP Surgical's ZAP-X Gyroscopic Radiosurgery platform, a large, round surgical device with a bed sliding into it." decoding="async" /></a><h5 class="entry-title"><a href="https://www.therobotreport.com/zap-surgical-systems-obtains-78m-commercialize-gyroscopic-radiosurgery-platform/">ZAP Surgical Systems obtains $78M to commercialize gyroscopic radiosurgery platform</a></h5></article></div></div></div><div class="section section-category-posts style-standard"><h4 class="block-header">Self-Driving Vehicles <a href="https://www.therobotreport.com/category/robots-platforms/self-driving-vehicles/">See More ></a></h4><div class="post-listing row"><div class="col-sm-6"><article class="entry-summary large"><a href="https://www.therobotreport.com/duality-ai-offers-developers-edu-license-for-falcon-digital-twins-synthetic-data/" class="entry-image-link"><img width="368" height="238" src="https://www.therobotreport.com/wp-content/uploads/2024/11/FalconEditor_Scenarios-featured-368x238.jpg" class="attachment-ea_product size-ea_product wp-image-581674 wp-post-image" alt="Scenarios in Duality AI's Falcon Editor, including an electrical tower, an automated guided vehicle, an autonomous mobile robot, and a humanoid robot." decoding="async" srcset="https://www.therobotreport.com/wp-content/uploads/2024/11/FalconEditor_Scenarios-featured-368x238.jpg 368w, https://www.therobotreport.com/wp-content/uploads/2024/11/FalconEditor_Scenarios-featured-300x195.jpg 300w, https://www.therobotreport.com/wp-content/uploads/2024/11/FalconEditor_Scenarios-featured-150x97.jpg 150w, https://www.therobotreport.com/wp-content/uploads/2024/11/FalconEditor_Scenarios-featured-768x499.jpg 768w, https://www.therobotreport.com/wp-content/uploads/2024/11/FalconEditor_Scenarios-featured.jpg 770w" sizes="(max-width: 368px) 100vw, 368px" /></a><h4 class="entry-title"><a href="https://www.therobotreport.com/duality-ai-offers-developers-edu-license-for-falcon-digital-twins-synthetic-data/">Duality AI offers developers EDU license for Falcon digital twins, synthetic data</a></h4><div class="entry-content"><p>The EDU program offers subscribers full access to Falcon’s comprehensive feature set, alongside community resources developed by Duality AI.</p> </div></article></div><div class="col-sm-6"><article class="entry-summary"><a href="https://www.therobotreport.com/anello-photonics-secures-funding-inertial-navigation-gps-denied-environments/" class="entry-image-link"><img width="268" height="170" src="https://www.therobotreport.com/wp-content/uploads/2024/11/ANELLO_eval-268x170.jpg" class="attachment-ea_summary size-ea_summary wp-image-581642 wp-post-image" alt="ANELLO evaluation kit for its SiPhOG optical navigation system." decoding="async" /></a><h5 class="entry-title"><a href="https://www.therobotreport.com/anello-photonics-secures-funding-inertial-navigation-gps-denied-environments/">ANELLO Photonics secures funding for inertial navigation in GPS-denied environments</a></h5></article><article class="entry-summary"><a href="https://www.therobotreport.com/nuro-driver-expands-level-4-autonomous-deliveries-california-texas/" class="entry-image-link"><img width="268" height="170" src="https://www.therobotreport.com/wp-content/uploads/2024/11/Nuro-L4-expansion-featured-268x170.jpg" class="attachment-ea_summary size-ea_summary wp-image-581632 wp-post-image" alt="A small, boxy, white Nuro vehicle driving on a road with a glass building behind it." decoding="async" /></a><h5 class="entry-title"><a href="https://www.therobotreport.com/nuro-driver-expands-level-4-autonomous-deliveries-california-texas/">Nuro Driver expands Level 4 autonomous fleet in California and Texas</a></h5></article><article class="entry-summary"><a href="https://www.therobotreport.com/abb-edge-using-ai-robotics-transform-industries/" class="entry-image-link"><img width="268" height="170" src="https://www.therobotreport.com/wp-content/uploads/2024/11/episode-172-coverRobotics-268x170.jpg" class="attachment-ea_summary size-ea_summary wp-image-581636 wp-post-image" alt="headshot of Marc Segura with podcast logo." decoding="async" /></a><h5 class="entry-title"><a href="https://www.therobotreport.com/abb-edge-using-ai-robotics-transform-industries/">The ABB Edge: Using AI and robotics to transform industries</a></h5></article><article class="entry-summary"><a href="https://www.therobotreport.com/zettascale-designs-zenoh-to-transcend-dds-for-automotive-ros-communications/" class="entry-image-link"><img width="268" height="170" src="https://www.therobotreport.com/wp-content/uploads/2024/11/ROS2_Zenoh-268x170.jpg" class="attachment-ea_summary size-ea_summary wp-image-581633 wp-post-image" alt="Zenoh is middleware designed to work across technologies, says ZettaScale." decoding="async" /></a><h5 class="entry-title"><a href="https://www.therobotreport.com/zettascale-designs-zenoh-to-transcend-dds-for-automotive-ros-communications/">ZettaScale designs Zenoh to transcend DDS for automotive, ROS communications</a></h5></article></div></div></div><div class="section section-category-posts style-standard"><h4 class="block-header">Artificial Intelligence / Cognition <a href="https://www.therobotreport.com/category/design-development/ai-cognition/">See More ></a></h4><div class="post-listing row"><div class="col-sm-6"><article class="entry-summary large"><a href="https://www.therobotreport.com/smart-vision-works-introduces-siftai-robotic-potato-sorter/" class="entry-image-link"><img width="366" height="238" src="https://www.therobotreport.com/wp-content/uploads/2024/11/siftai-featured-366x238.jpg" class="attachment-ea_product size-ea_product wp-image-581715 wp-post-image" alt="Two SiftAI Robotic Sorters from Smart Vision Works sort potatoes as they go down a conveyor belt." decoding="async" srcset="https://www.therobotreport.com/wp-content/uploads/2024/11/siftai-featured-366x238.jpg 366w, https://www.therobotreport.com/wp-content/uploads/2024/11/siftai-featured-300x195.jpg 300w, https://www.therobotreport.com/wp-content/uploads/2024/11/siftai-featured-150x97.jpg 150w, https://www.therobotreport.com/wp-content/uploads/2024/11/siftai-featured-768x499.jpg 768w, https://www.therobotreport.com/wp-content/uploads/2024/11/siftai-featured.jpg 796w" sizes="(max-width: 366px) 100vw, 366px" /></a><h4 class="entry-title"><a href="https://www.therobotreport.com/smart-vision-works-introduces-siftai-robotic-potato-sorter/">Smart Vision Works introduces SiftAI robotic potato sorter</a></h4><div class="entry-content"><p>Smart Vision Works said its SiftAI robotic potato sorter will pay for itself in fewer than two years from installation. </p> </div></article></div><div class="col-sm-6"><article class="entry-summary"><a href="https://www.therobotreport.com/duality-ai-offers-developers-edu-license-for-falcon-digital-twins-synthetic-data/" class="entry-image-link"><img width="268" height="170" src="https://www.therobotreport.com/wp-content/uploads/2024/11/FalconEditor_Scenarios-featured-268x170.jpg" class="attachment-ea_summary size-ea_summary wp-image-581674 wp-post-image" alt="Scenarios in Duality AI's Falcon Editor, including an electrical tower, an automated guided vehicle, an autonomous mobile robot, and a humanoid robot." decoding="async" /></a><h5 class="entry-title"><a href="https://www.therobotreport.com/duality-ai-offers-developers-edu-license-for-falcon-digital-twins-synthetic-data/">Duality AI offers developers EDU license for Falcon digital twins, synthetic data</a></h5></article><article class="entry-summary"><a href="https://www.therobotreport.com/nuro-driver-expands-level-4-autonomous-deliveries-california-texas/" class="entry-image-link"><img width="268" height="170" src="https://www.therobotreport.com/wp-content/uploads/2024/11/Nuro-L4-expansion-featured-268x170.jpg" class="attachment-ea_summary size-ea_summary wp-image-581632 wp-post-image" alt="A small, boxy, white Nuro vehicle driving on a road with a glass building behind it." decoding="async" /></a><h5 class="entry-title"><a href="https://www.therobotreport.com/nuro-driver-expands-level-4-autonomous-deliveries-california-texas/">Nuro Driver expands Level 4 autonomous fleet in California and Texas</a></h5></article><article class="entry-summary"><a href="https://www.therobotreport.com/mit-lucidsim-training-system-helps-robots-close-sim2real-gap/" class="entry-image-link"><img width="268" height="170" src="https://www.therobotreport.com/wp-content/uploads/2024/11/generative-ai-mit-robot-dog-268x170.jpg" class="attachment-ea_summary size-ea_summary wp-image-581621 wp-post-image" alt="a quadruped robot learned to navigate new environments using generative ai." decoding="async" /></a><h5 class="entry-title"><a href="https://www.therobotreport.com/mit-lucidsim-training-system-helps-robots-close-sim2real-gap/">MIT: LucidSim training system helps robots close Sim2Real gap</a></h5></article><article class="entry-summary"><a href="https://www.therobotreport.com/theia-vision-foundation-model-aiinstitute-generates-improve-robot-learning/" class="entry-image-link"><img width="268" height="170" src="https://www.therobotreport.com/wp-content/uploads/2024/11/Theia_models-268x170.jpg" class="attachment-ea_summary size-ea_summary wp-image-581582 wp-post-image" alt="Researchers used Theia to train a policy enabling a robot arm to microwave various types of toy food." decoding="async" /></a><h5 class="entry-title"><a href="https://www.therobotreport.com/theia-vision-foundation-model-aiinstitute-generates-improve-robot-learning/">The AI Institute introduces Theia vision foundation model to improve robot learning</a></h5></article></div></div></div><div class="section section-category-posts style-standard"><h4 class="block-header">The World of Robotics & Sensors <a href="https://www.therobotreport.com/category/sponsored-content/the-world-of-robotics-sensors/">See More ></a></h4><div class="post-listing row"><div class="col-sm-6"><article class="entry-summary large"><a href="https://www.therobotreport.com/what-type-of-robot-should-you-use/" class="entry-image-link"><img width="366" height="238" src="https://www.therobotreport.com/wp-content/uploads/2023/06/sick-sponsored-featured-image-july2023-article3-366x238.jpg" class="attachment-ea_product size-ea_product wp-image-566106 wp-post-image" alt="" decoding="async" srcset="https://www.therobotreport.com/wp-content/uploads/2023/06/sick-sponsored-featured-image-july2023-article3-366x238.jpg 366w, https://www.therobotreport.com/wp-content/uploads/2023/06/sick-sponsored-featured-image-july2023-article3-300x195.jpg 300w, https://www.therobotreport.com/wp-content/uploads/2023/06/sick-sponsored-featured-image-july2023-article3-150x98.jpg 150w, https://www.therobotreport.com/wp-content/uploads/2023/06/sick-sponsored-featured-image-july2023-article3-768x500.jpg 768w, https://www.therobotreport.com/wp-content/uploads/2023/06/sick-sponsored-featured-image-july2023-article3.jpg 770w" sizes="(max-width: 366px) 100vw, 366px" /></a><h4 class="entry-title"><a href="https://www.therobotreport.com/what-type-of-robot-should-you-use/">What Type of Robot Should You Use?</a></h4><div class="entry-content"><p>Breaking down the different types of robots and how they can work for you</p> </div></article></div><div class="col-sm-6"><article class="entry-summary"><a href="https://www.therobotreport.com/depalletization-to-automate-or-not-that-is-the-question/" class="entry-image-link"><img width="268" height="170" src="https://www.therobotreport.com/wp-content/uploads/2023/06/sick-sponsored-featured-image-july2023-article2-268x170.jpg" class="attachment-ea_summary size-ea_summary wp-image-566104 wp-post-image" alt="" decoding="async" /></a><h5 class="entry-title"><a href="https://www.therobotreport.com/depalletization-to-automate-or-not-that-is-the-question/">Depalletization: to automate or not? That is the question</a></h5></article><article class="entry-summary"><a href="https://www.therobotreport.com/revolutionizing-manufacturing-how-robots-boost-productivity-quality-and-safety/" class="entry-image-link"><img width="268" height="170" src="https://www.therobotreport.com/wp-content/uploads/2023/06/sick-sponsored-featured-image-july2023-article1-268x170.jpg" class="attachment-ea_summary size-ea_summary wp-image-566103 wp-post-image" alt="" decoding="async" /></a><h5 class="entry-title"><a href="https://www.therobotreport.com/revolutionizing-manufacturing-how-robots-boost-productivity-quality-and-safety/">Revolutionizing Manufacturing: How Robots Boost Productivity, Quality, and Safety</a></h5></article></div></div></div><div class="section section-category-posts style-standard"><h4 class="block-header">maxon Driven <a href="https://www.therobotreport.com/category/sponsored-content/maxon-motor/">See More ></a></h4><div class="post-listing row"><div class="col-sm-6"><article class="entry-summary large"><a href="https://www.therobotreport.com/predicting-future-changes-in-water-quality/" class="entry-image-link"><img width="357" height="238" src="https://www.therobotreport.com/wp-content/uploads/2021/11/maxon-featured-image-november2021-article4-357x238.jpg" class="attachment-ea_product size-ea_product wp-image-560808 wp-post-image" alt="" decoding="async" srcset="https://www.therobotreport.com/wp-content/uploads/2021/11/maxon-featured-image-november2021-article4-357x238.jpg 357w, https://www.therobotreport.com/wp-content/uploads/2021/11/maxon-featured-image-november2021-article4-300x200.jpg 300w, https://www.therobotreport.com/wp-content/uploads/2021/11/maxon-featured-image-november2021-article4-150x100.jpg 150w, https://www.therobotreport.com/wp-content/uploads/2021/11/maxon-featured-image-november2021-article4-768x512.jpg 768w, https://www.therobotreport.com/wp-content/uploads/2021/11/maxon-featured-image-november2021-article4.jpg 770w" sizes="(max-width: 357px) 100vw, 357px" /></a><h4 class="entry-title"><a href="https://www.therobotreport.com/predicting-future-changes-in-water-quality/">Predicting future changes in water quality</a></h4><div class="entry-content"><p>As the impact of climate change and land use continue to harm aquatic environments, it is becoming increasingly important to measure and monitor changes in water quality.</p> </div></article></div><div class="col-sm-6"><article class="entry-summary"><a href="https://www.therobotreport.com/ceramic-at-its-best/" class="entry-image-link"><img width="268" height="170" src="https://www.therobotreport.com/wp-content/uploads/2021/11/maxon-featured-image-november2021-article3-268x170.jpg" class="attachment-ea_summary size-ea_summary wp-image-560800 wp-post-image" alt="" decoding="async" /></a><h5 class="entry-title"><a href="https://www.therobotreport.com/ceramic-at-its-best/">Ceramic at its best</a></h5></article><article class="entry-summary"><a href="https://www.therobotreport.com/opening-of-maxon-france/" class="entry-image-link"><img width="268" height="170" src="https://www.therobotreport.com/wp-content/uploads/2021/11/maxon-featured-image-november2021-article2-268x170.jpg" class="attachment-ea_summary size-ea_summary wp-image-560793 wp-post-image" alt="" decoding="async" /></a><h5 class="entry-title"><a href="https://www.therobotreport.com/opening-of-maxon-france/">Opening of maxon France</a></h5></article><article class="entry-summary"><a href="https://www.therobotreport.com/driven-pays-a-visit-to-the-robot-on-four-legs/" class="entry-image-link"><img width="268" height="170" src="https://www.therobotreport.com/wp-content/uploads/2021/11/maxon-featured-image-november2021-article1-268x170.jpg" class="attachment-ea_summary size-ea_summary wp-image-560790 wp-post-image" alt="" decoding="async" /></a><h5 class="entry-title"><a href="https://www.therobotreport.com/driven-pays-a-visit-to-the-robot-on-four-legs/">Driven pays a visit to the robot on four legs</a></h5></article><article class="entry-summary"><a href="https://www.therobotreport.com/drone-powered-by-solar-energy/" class="entry-image-link"><img width="268" height="170" src="https://www.therobotreport.com/wp-content/uploads/2021/08/maxon-featured-august2021-article4-268x170.jpg" class="attachment-ea_summary size-ea_summary wp-image-560240 wp-post-image" alt="" decoding="async" /></a><h5 class="entry-title"><a href="https://www.therobotreport.com/drone-powered-by-solar-energy/">Drone powered by solar energy</a></h5></article></div></div></div></div></main><aside class="sidebar sidebar-primary widget-area" role="complementary" aria-label="Primary Sidebar"><section id="custom_html-6" class="widget_text widget widget_custom_html"><div class="widget_text widget-wrap"><div class="textwidget custom-html-widget"> <center><div id='div-gpt-trr_sidebar1'> <script> googletag.cmd.push(function() { googletag.display('div-gpt-trr_sidebar1'); }); </script> </div> </center> </div></div></section> <section id="custom_html-2" class="widget_text widget widget_custom_html"><div class="widget_text widget-wrap"><h4 class="widget-title widgettitle">RBR50 Innovation Awards</h4> <div class="textwidget custom-html-widget"><div style="position:relative;padding-top:max(60%,326px);height:0;width:100%"><iframe allow="clipboard-write" sandbox="allow-top-navigation allow-top-navigation-by-user-activation allow-downloads allow-scripts allow-same-origin allow-popups allow-modals allow-popups-to-escape-sandbox allow-forms" allowfullscreen="true" style="position:absolute;border:none;width:100%;height:100%;left:0;right:0;top:0;bottom:0;" src="https://e.issuu.com/embed.html?d=april_2024_issue_rbr50_innovation_awards&hideIssuuLogo=true&showOtherPublicationsAsSuggestions=true&u=wtwhmedia"></iframe></div></div></div></section> <section id="custom_html-4" class="widget_text widget widget_custom_html"><div class="widget_text widget-wrap"><div class="textwidget custom-html-widget"><center> <div style="display: flex; flex-direction: column; justify-content: center; width: 300px;"> <div align="center"><a href="https://www.therobotreport.com/the-robot-report-enewsletter/" target="_blank"><img src="https://www.therobotreport.com/wp-content/uploads/2023/04/RoboReport-300x100-1.jpg" alt=“rr newsletter”></a></div> <div align="center" style="width: 300px; line-height: 20px; padding-top: 10px;"><span style="font-weight: bold; color: #0c506d; text-align: center; font-size: 20px;">EXPAND YOUR KNOWLEDGE AND STAY CONNECTED</span></div> <div align="center" style="line-height: 16px; padding-top: 5px;"><span style="text-align: center; font-size: 16px;">Get the latest info on technologies, tools and strategies for Robotics Professionals. </span></div> <div align="center" style="padding-top: 10px;"><a href="https://www.therobotreport.com/the-robot-report-enewsletter/" target="_blank"><button style="background-color: #d2262c; color: white; font-weight: bold; border: none; padding: 10px; font-size: 16px; cursor: pointer;">GET THE ENEWSLETTER</button></a></div> </div> </center></div></div></section> <section id="custom_html-3" class="widget_text widget widget_custom_html"><div class="widget_text widget-wrap"><div class="textwidget custom-html-widget"><center><a href="https://search.therobotreport.com" target="_blank"><img src="https://www.therobotreport.com/wp-content/uploads/2023/06/300x600Robotics.jpg" alt="The Robot Report Listing Database"></a></center></div></div></section> <section id="custom_html-7" class="widget_text widget widget_custom_html"><div class="widget_text widget-wrap"><div class="textwidget custom-html-widget"><div id='div-gpt-trr_sidebar2'> <script> googletag.cmd.push(function() { googletag.display('div-gpt-trr_sidebar2'); }); </script> </div></div></div></section> <section id="custom_html-16" class="widget_text widget widget_custom_html"><div class="widget_text widget-wrap"><h4 class="widget-title widgettitle">Latest Episode of The Robot Report Podcast</h4> <div class="textwidget custom-html-widget"><iframe style="border-radius:12px" src="https://open.spotify.com/embed/show/07RByN6D8aJ68QjuspmeFs?utm_source=generator&theme=0" width="100%" height="352" frameborder="0" allowfullscreen="" allow="autoplay; clipboard-write; encrypted-media; fullscreen; picture-in-picture" loading="lazy"></iframe></div></div></section> <section id="custom_html-19" class="widget_text widget widget_custom_html"><div class="widget_text widget-wrap"><div class="textwidget custom-html-widget"><center><a href="https://www.automatedwarehouseonline.com/category/reports"><img src="https://mobilerobotguide.com/wp-content/uploads/2024/05/300x250-AW-Reports.jpg" alt="Automated Warehouse Research Reports" /></a></center> </div></div></section> <section id="category-posts-3" class="widget cat-post-widget"><div class="widget-wrap"><h4 class="widget-title widgettitle">Sponsored Content</h4> <ul id="category-posts-3-internal" class="category-posts-internal"> <li class='cat-post-item'><div><a class="cat-post-thumbnail cat-post-dark" href="https://www.therobotreport.com/advanced-precision-strain-wave-gear-offers-torque-sensing-to-robots/" title="Advanced Precision Strain Wave Gear Offers Torque Sensing to Robots"><span class="cat-post-crop cat-post-format cat-post-format-standard"><img width="150" height="95" src="https://www.therobotreport.com/wp-content/uploads/2024/10/Schaeffler-TechTips-eBook-2024_Page_1.jpg" class="attachment- size- wp-image-581180 wp-post-image" alt="Schaeffler digital ebook ad." data-cat-posts-width="150" data-cat-posts-height="95" decoding="async" srcset="https://www.therobotreport.com/wp-content/uploads/2024/10/Schaeffler-TechTips-eBook-2024_Page_1.jpg 880w, https://www.therobotreport.com/wp-content/uploads/2024/10/Schaeffler-TechTips-eBook-2024_Page_1-300x259.jpg 300w, https://www.therobotreport.com/wp-content/uploads/2024/10/Schaeffler-TechTips-eBook-2024_Page_1-150x130.jpg 150w, https://www.therobotreport.com/wp-content/uploads/2024/10/Schaeffler-TechTips-eBook-2024_Page_1-768x663.jpg 768w, https://www.therobotreport.com/wp-content/uploads/2024/10/Schaeffler-TechTips-eBook-2024_Page_1-276x238.jpg 276w" sizes="(max-width: 150px) 100vw, 150px" /></span></a> <a class="cat-post-title" href="https://www.therobotreport.com/advanced-precision-strain-wave-gear-offers-torque-sensing-to-robots/" rel="bookmark">Advanced Precision Strain Wave Gear Offers Torque Sensing to Robots</a></div></li><li class='cat-post-item'><div><a class="cat-post-thumbnail cat-post-dark" href="https://www.therobotreport.com/innovative-motion-solutions-are-supporting-the-latest-trends-in-robotics/" title="Innovative motion solutions are supporting the latest trends in robotics"><span class="cat-post-crop cat-post-format cat-post-format-standard"><img width="150" height="95" src="https://www.therobotreport.com/wp-content/uploads/2024/09/portescap-sponsored-featured-image-october2024.jpg" class="attachment- size- wp-image-580901 wp-post-image" alt="" data-cat-posts-width="150" data-cat-posts-height="95" decoding="async" srcset="https://www.therobotreport.com/wp-content/uploads/2024/09/portescap-sponsored-featured-image-october2024.jpg 770w, https://www.therobotreport.com/wp-content/uploads/2024/09/portescap-sponsored-featured-image-october2024-300x156.jpg 300w, https://www.therobotreport.com/wp-content/uploads/2024/09/portescap-sponsored-featured-image-october2024-150x78.jpg 150w, https://www.therobotreport.com/wp-content/uploads/2024/09/portescap-sponsored-featured-image-october2024-768x399.jpg 768w, https://www.therobotreport.com/wp-content/uploads/2024/09/portescap-sponsored-featured-image-october2024-368x191.jpg 368w" sizes="(max-width: 150px) 100vw, 150px" /></span></a> <a class="cat-post-title" href="https://www.therobotreport.com/innovative-motion-solutions-are-supporting-the-latest-trends-in-robotics/" rel="bookmark">Innovative motion solutions are supporting the latest trends in robotics</a></div></li><li class='cat-post-item'><div><a class="cat-post-thumbnail cat-post-dark" href="https://www.therobotreport.com/renishaw-and-rls-help-to-drive-a-robot-revolution/" title="Renishaw and RLS help to drive a robot revolution"><span class="cat-post-crop cat-post-format cat-post-format-standard"><img width="150" height="95" src="https://www.therobotreport.com/wp-content/uploads/2024/09/renishaw-sponsored-featured-image-october2024.jpg" class="attachment- size- wp-image-580741 wp-post-image" alt="" data-cat-posts-width="150" data-cat-posts-height="95" decoding="async" srcset="https://www.therobotreport.com/wp-content/uploads/2024/09/renishaw-sponsored-featured-image-october2024.jpg 770w, https://www.therobotreport.com/wp-content/uploads/2024/09/renishaw-sponsored-featured-image-october2024-300x214.jpg 300w, https://www.therobotreport.com/wp-content/uploads/2024/09/renishaw-sponsored-featured-image-october2024-150x107.jpg 150w, https://www.therobotreport.com/wp-content/uploads/2024/09/renishaw-sponsored-featured-image-october2024-768x549.jpg 768w, https://www.therobotreport.com/wp-content/uploads/2024/09/renishaw-sponsored-featured-image-october2024-333x238.jpg 333w" sizes="(max-width: 150px) 100vw, 150px" /></span></a> <a class="cat-post-title" href="https://www.therobotreport.com/renishaw-and-rls-help-to-drive-a-robot-revolution/" rel="bookmark">Renishaw and RLS help to drive a robot revolution</a></div></li><li class='cat-post-item'><div><a class="cat-post-thumbnail cat-post-dark" href="https://www.therobotreport.com/ask-an-expert-flexible-conveyors-for-materials-handling/" title="Ask an Expert Podcast: flexible conveyance for materials handling"><span class="cat-post-crop cat-post-format cat-post-format-standard"><img width="150" height="95" src="https://www.therobotreport.com/wp-content/uploads/2024/09/mk-na-podcast-featuredRobotics.jpg" class="attachment- size- wp-image-580538 wp-post-image" alt="headshot of Michael Zampano and the robot report podcast logo." data-cat-posts-width="150" data-cat-posts-height="95" decoding="async" srcset="https://www.therobotreport.com/wp-content/uploads/2024/09/mk-na-podcast-featuredRobotics.jpg 770w, https://www.therobotreport.com/wp-content/uploads/2024/09/mk-na-podcast-featuredRobotics-300x195.jpg 300w, https://www.therobotreport.com/wp-content/uploads/2024/09/mk-na-podcast-featuredRobotics-150x97.jpg 150w, https://www.therobotreport.com/wp-content/uploads/2024/09/mk-na-podcast-featuredRobotics-768x499.jpg 768w, https://www.therobotreport.com/wp-content/uploads/2024/09/mk-na-podcast-featuredRobotics-368x238.jpg 368w" sizes="(max-width: 150px) 100vw, 150px" /></span></a> <a class="cat-post-title" href="https://www.therobotreport.com/ask-an-expert-flexible-conveyors-for-materials-handling/" rel="bookmark">Ask an Expert Podcast: flexible conveyance for materials handling</a></div></li><li class='cat-post-item'><div><a class="cat-post-thumbnail cat-post-dark" href="https://www.therobotreport.com/hop-onboard-the-amr-revolution-vision-localization-unleashed/" title="Hop Onboard the AMR Revolution: Vision & Localization Unleashed"><span class="cat-post-crop cat-post-format cat-post-format-standard"><img width="150" height="95" src="https://www.therobotreport.com/wp-content/uploads/2024/08/rgo-robotics-2.png" class="attachment- size- wp-image-580339 wp-post-image" alt="" data-cat-posts-width="150" data-cat-posts-height="95" decoding="async" srcset="https://www.therobotreport.com/wp-content/uploads/2024/08/rgo-robotics-2.png 452w, https://www.therobotreport.com/wp-content/uploads/2024/08/rgo-robotics-2-300x169.png 300w, https://www.therobotreport.com/wp-content/uploads/2024/08/rgo-robotics-2-150x84.png 150w, https://www.therobotreport.com/wp-content/uploads/2024/08/rgo-robotics-2-368x207.png 368w" sizes="(max-width: 150px) 100vw, 150px" /></span></a> <a class="cat-post-title" href="https://www.therobotreport.com/hop-onboard-the-amr-revolution-vision-localization-unleashed/" rel="bookmark">Hop Onboard the AMR Revolution: Vision & Localization Unleashed</a></div></li></ul> </div></section> <section id="custom_html-14" class="widget_text widget widget_custom_html"><div class="widget_text widget-wrap"><div class="textwidget custom-html-widget"><center> <div id='div-gpt-trr_sidebarbottom'> <script> googletag.cmd.push(function() { googletag.display('div-gpt-trr_sidebarbottom'); }); </script> </div> </center></div></div></section> </aside></div></div></div><div class="footer-socials"><div class="wrap"><label style="color:#ffffff">Connect with The Robot Report</label> <a href="https://www.facebook.com/TheRobotReport/" target="_blank" rel="noopener noreferrer"><i class="icon-facebook"></i></a><a href="https://twitter.com/therobotreport" target="_blank" rel="noopener noreferrer"><i class="icon-twitter"></i></a><a href="https://www.linkedin.com/company/the-robot-report" target="_blank" rel="noopener noreferrer"><i class="icon-linkedin"></i></a><a href="https://www.youtube.com/channel/UCFvPK74I5Hd5eVzZ_5t6FbQ" target="_blank" rel="noopener noreferrer"><i class="icon-youtube"></i></a><a href="https://instagram.com/therobotreport" target="_blank" rel="noopener noreferrer"><i class="icon-instagram"></i></a></div></div><footer class="site-footer"><div class="wrap"><div class="row"><div class="footer-logo"><a href="https://www.therobotreport.com">The Robot Report</a></div><div class="footer-menu"><div class="menu-footer-menu-container"><ul id="menu-footer-menu" class="menu"><li id="menu-item-559347" class="menu-item"><a target="_blank" href="https://mobilerobotguide.com">Mobile Robot Guide</a></li> <li id="menu-item-103033" class="menu-item"><a target="_blank" href="http://cobottrends.com">Collaborative Robotics Trends</a></li> <li id="menu-item-104270" class="menu-item"><a target="_blank" href="https://www.fieldroboticsforum.com/">Field Robotics Forum</a></li> <li id="menu-item-103032" class="menu-item"><a target="_blank" href="http://www.healthcareroboticsforum.com">Healthcare Robotics Engineering Forum</a></li> <li id="menu-item-104268" class="menu-item"><a target="_blank" href="https://www.robobusiness.com/">RoboBusiness Event</a></li> <li id="menu-item-103031" class="menu-item"><a target="_blank" href="http://www.roboticssummit.com">Robotics Summit & Expo</a></li> <li id="menu-item-76301" class="menu-item"><a href="https://www.therobotreport.com/about-the-robot-report/">About The Robot Report</a></li> <li id="menu-item-76268" class="menu-item"><a href="/the-robot-report-enewsletter/">Subscribe</a></li> <li id="menu-item-76302" class="menu-item"><a href="https://www.therobotreport.com/contact/">Contact Us</a></li> </ul></div></div><div class="footer-copyright"><p>Copyright © 2024 WTWH Media LLC. All Rights Reserved. The material on this site may not be reproduced, distributed, transmitted, cached or otherwise used, except with the prior written permission of WTWH Media<br /> <a href="http://www.wtwhmedia.com/privacy-policy/" target="_blank">Privacy Policy</a> | <a href="https://marketing.wtwhmedia.com/2024-robotics-network-media-guide/" target="_blank">Advertising</a> | <a href="/about-the-robot-report/">About Us</a> </p></div></div></div></footer></div><div class="site-search"><div class="wrap"><div class="search-inner"><h2>Search The Robot Report</h2><form class="search-form" method="get" action="https://www.therobotreport.com/" role="search"><input class="search-form-input" type="search" name="s" id="searchform-1" placeholder="Search this website"><input class="search-form-submit" type="submit" value="GO"><meta content="https://www.therobotreport.com/?s={s}"></form></div></div></div> <!-- xyzzy bottom --> </div> <script> var GAMaccountID = 5272491; var GAMnetworkName = 'robo_network'; var GAMadUnitName = 'trr_prestitial'; googletag.slots = googletag.slots || {}; </script> <div id='div-gpt-trr_wallpaper'> <script> googletag.cmd.push(function() { googletag.display('div-gpt-trr_wallpaper'); }); </script> </div> <div id='div-gpt-trr_allstreamflex'> <script> googletag.cmd.push(function() { googletag.display('div-gpt-trr_allstreamflex'); }); </script> </div> <div id='div-gpt-trr_allstreamprelude'> <script> googletag.cmd.push(function() { googletag.display('div-gpt-trr_allstreamprelude'); }); </script> </div> <!-- Google Tag Manager (noscript) --> <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-TXCXX57" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> <!-- End Google Tag Manager (noscript) --> <!-- Google Tag Manager (noscript) Global --> <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-MMC9PJ9" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> <!-- End Google Tag Manager (noscript) --> <script type="text/javascript"> _linkedin_data_partner_id = "87673"; </script><script type="text/javascript"> (function(){var s = document.getElementsByTagName("script")[0]; var b = document.createElement("script"); b.type = "text/javascript";b.async = true; b.src = "https://snap.licdn.com/li.lms-analytics/insight.min.js"; s.parentNode.insertBefore(b, s);})(); </script> <noscript> <img height="1" width="1" style="display:none;" alt="" src="https://dc.ads.linkedin.com/collect/?pid=87673&fmt=gif" /> </noscript> <div id="sidr-mobile-menu" class="sidr right"><a class="sidr-menu-close" href="#"><i class="icon-close"></i></a><div class="menu-main-nav-container"><ul id="menu-main-nav-1" class="menu"><li class="home menu-item current-menu-item"><a href="https://www.therobotreport.com/" aria-current="page">Home</a></li> <li class="menu-item"><a href="https://www.therobotreport.com/category/news/">News</a></li> <li class="menu-item menu-item-has-children"><a href="https://www.therobotreport.com/category/technologies/">Technologies</a> <ul class="sub-menu"> <li class="menu-item"><a href="https://www.therobotreport.com/category/technologies/batteries-power-supplies/">Batteries / Power Supplies</a></li> <li class="menu-item"><a href="https://www.therobotreport.com/category/technologies/cameras-imaging-vision/">Cameras / Imaging / Vision</a></li> <li class="menu-item"><a href="https://www.therobotreport.com/category/technologies/controllers/">Controllers</a></li> <li class="menu-item"><a href="https://www.therobotreport.com/category/technologies/grippers-end-effectors/">End Effectors</a></li> <li class="menu-item"><a href="https://www.therobotreport.com/category/technologies/microprocessors-socs/">Microprocessors / SoCs</a></li> <li class="menu-item"><a href="https://www.therobotreport.com/category/robot-components/motioncontrol/">Motion Control</a></li> <li class="menu-item"><a href="https://www.therobotreport.com/category/technologies/sensors-sensing/">Sensors</a></li> <li class="menu-item"><a href="https://www.therobotreport.com/category/technologies/soft-robotics/">Soft Robotics</a></li> <li class="menu-item"><a href="https://www.therobotreport.com/category/software-simulation/">Software / Simulation</a></li> </ul> </li> <li class="menu-item menu-item-has-children"><a href="https://www.therobotreport.com/category/design-development/">Development</a> <ul class="sub-menu"> <li class="menu-item"><a href="https://www.therobotreport.com/category/design-development/ai-cognition/">Artificial Intelligence</a></li> <li class="menu-item"><a href="https://www.therobotreport.com/category/design-development/haptics/">Human Robot Interaction / Haptics</a></li> <li class="menu-item"><a href="https://www.therobotreport.com/category/design-development/mobility-navigation/">Mobility / Navigation</a></li> <li class="menu-item"><a href="https://www.therobotreport.com/category/research-development/">Research</a></li> </ul> </li> <li class="menu-item menu-item-has-children"><a href="https://www.therobotreport.com/category/robots-platforms/">Robots</a> <ul class="sub-menu"> <li class="menu-item"><a href="https://www.therobotreport.com/category/robots-platforms/agv/">AGVs</a></li> <li class="menu-item"><a href="https://www.therobotreport.com/category/robots-platforms/amrs/">AMRs</a></li> <li class="menu-item"><a href="https://www.therobotreport.com/category/robots-platforms/consumer-robotics/">Consumer</a></li> <li class="menu-item"><a href="https://www.therobotreport.com/category/robots-platforms/collaborative-robot/">Collaborative Robots</a></li> <li class="menu-item"><a href="https://www.therobotreport.com/category/robots-platforms/uav-drones/">Drones</a></li> <li class="menu-item"><a href="https://www.therobotreport.com/category/robots-platforms/humanoids/">Humanoids</a></li> <li class="menu-item"><a href="https://www.therobotreport.com/category/robots-platforms/industrial-robots/">Industrial</a></li> <li class="menu-item"><a href="https://www.therobotreport.com/category/robots-platforms/self-driving-vehicles/">Self-Driving Vehicles</a></li> <li class="menu-item"><a href="https://www.therobotreport.com/category/robots-platforms/ums/">Unmanned Maritime Systems</a></li> </ul> </li> <li class="menu-item menu-item-has-children"><a>Robotics Business Review</a> <ul class="sub-menu"> <li class="menu-item menu-item-has-children"><a href="https://www.therobotreport.com/category/financial/">Financial</a> <ul class="sub-menu"> <li class="menu-item"><a href="https://www.therobotreport.com/category/financial/investments-funding/">Investments</a></li> <li class="menu-item"><a href="https://www.therobotreport.com/category/financial/mergers-acquisitions/">Mergers & Acquisitions</a></li> <li class="menu-item"><a href="https://www.therobotreport.com/category/financial/earnings/">Earnings</a></li> </ul> </li> <li class="menu-item menu-item-has-children"><a href="https://www.therobotreport.com/category/markets-industries/">Markets</a> <ul class="sub-menu"> <li class="menu-item"><a href="https://www.therobotreport.com/category/markets-industries/ag/">Agriculture</a></li> <li class="menu-item"><a href="https://www.therobotreport.com/category/markets-industries/biotechnology-medical-healthcare/">Healthcare</a></li> <li class="menu-item"><a href="https://www.therobotreport.com/category/markets-industries/logistics-warehousing-asrs/">Logistics</a></li> <li class="menu-item"><a href="https://www.therobotreport.com/category/markets-industries/manufacturing/">Manufacturing</a></li> <li class="menu-item"><a href="https://www.therobotreport.com/category/markets-industries/mining/">Mining</a></li> <li class="menu-item"><a href="https://www.therobotreport.com/category/markets-industries/defense-security/">Security</a></li> </ul> </li> <li class="menu-item menu-item-has-children"><a href="https://www.therobotreport.com/tag/rbr50/">RBR50</a> <ul class="sub-menu"> <li class="menu-item"><a href="https://www.therobotreport.com/2025-rbr50-robotics-innovation-awards-open-for-nominations/">2025 RBR50 Entry Form</a></li> <li class="menu-item"><a href="https://www.therobotreport.com/rbr50-2024/">RBR50 Winners 2024</a></li> <li class="menu-item"><a href="https://www.therobotreport.com/meet-2023-rbr50-robotics-innovation-awards/">RBR50 Winners 2023</a></li> <li class="menu-item"><a href="https://www.therobotreport.com/2022-rbr50-robotics-innovation-award-honorees/">RBR50 Winners 2022</a></li> <li class="menu-item"><a href="https://www.therobotreport.com/2021-rbr50-robotics-innovation-awards-digital-edition/">RBR50 Winners 2021</a></li> </ul> </li> </ul> </li> <li class="menu-item menu-item-has-children"><a>Resources</a> <ul class="sub-menu"> <li class="menu-item"><a target="_blank" href="https://www.automatedwarehouseonline.com/category/reports/">Automated Warehouse Research Reports</a></li> <li class="menu-item"><a href="https://www.therobotreport.com/category/digital-issues/">Digital Issues</a></li> <li class="menu-item"><a href="https://www.therobotreport.com/category/ebooks/">eBooks</a></li> <li class="menu-item menu-item-has-children"><a>Publications</a> <ul class="sub-menu"> <li class="menu-item"><a target="_blank" href="https://mobilerobotguide.com/category/logistics-warehouse-transportation/">Automated Warehouse</a></li> <li class="menu-item"><a target="_blank" href="https://www.cobottrends.com">Collaborative Robotics Trends</a></li> </ul> </li> <li class="menu-item"><a target="_blank" href="https://search.therobotreport.com">Search Robotics Database</a></li> <li class="menu-item"><a target="_blank" href="https://www.youtube.com/channel/UCFvPK74I5Hd5eVzZ_5t6FbQ/videos">Videos</a></li> <li class="menu-item"><a target="_blank" href="https://gateway.on24.com/wcc/experience/elitewtwhmedia/2927718/4415911/robot-report">Webinars / Digital Events</a></li> </ul> </li> <li class="menu-item menu-item-has-children"><a href="https://www.therobotreport.com/category/events/">Events</a> <ul class="sub-menu"> <li class="menu-item"><a target="_blank" href="https://www.robobusiness.com/">RoboBusiness</a></li> <li class="menu-item"><a target="_blank" href="https://www.roboticssummit.com">Robotics Summit & Expo</a></li> <li class="menu-item"><a target="_blank" href="https://www.devicetalks.com/">DeviceTalks</a></li> <li class="menu-item"><a target="_blank" href="https://www.rd100conference.com">R&D 100</a></li> <li class="menu-item"><a target="_blank" href="https://roboweeks.com/">Robotics Weeks</a></li> </ul> </li> <li class="menu-item menu-item-has-children"><a href="https://www.therobotreport.com/category/podcast/">Podcast</a> <ul class="sub-menu"> <li class="menu-item"><a href="https://www.therobotreport.com/category/podcast/">Episodes</a></li> </ul> </li> </ul></div></div></div> <script type="text/html" id="tmpl-media-frame"> <div class="media-frame-title" id="media-frame-title"></div> <h2 class="media-frame-menu-heading">Actions</h2> <button type="button" class="button button-link media-frame-menu-toggle" aria-expanded="false"> Menu <span class="dashicons dashicons-arrow-down" aria-hidden="true"></span> </button> <div class="media-frame-menu"></div> <div class="media-frame-tab-panel"> <div class="media-frame-router"></div> <div class="media-frame-content"></div> </div> <h2 class="media-frame-actions-heading screen-reader-text"> Selected media actions </h2> <div class="media-frame-toolbar"></div> <div class="media-frame-uploader"></div> </script> <script type="text/html" id="tmpl-media-modal"> <div tabindex="0" class="media-modal wp-core-ui" role="dialog" aria-labelledby="media-frame-title"> <# if ( data.hasCloseButton ) { #> <button type="button" class="media-modal-close"><span class="media-modal-icon"><span class="screen-reader-text"> Close dialog </span></span></button> <# } #> <div class="media-modal-content" role="document"></div> </div> <div class="media-modal-backdrop"></div> </script> <script type="text/html" id="tmpl-uploader-window"> <div class="uploader-window-content"> <div class="uploader-editor-title">Drop files to upload</div> </div> </script> <script type="text/html" id="tmpl-uploader-editor"> <div class="uploader-editor-content"> <div class="uploader-editor-title">Drop files to upload</div> </div> </script> <script type="text/html" id="tmpl-uploader-inline"> <# var messageClass = data.message ? 'has-upload-message' : 'no-upload-message'; #> <# if ( data.canClose ) { #> <button class="close dashicons dashicons-no"><span class="screen-reader-text"> Close uploader </span></button> <# } #> <div class="uploader-inline-content {{ messageClass }}"> <# if ( data.message ) { #> <h2 class="upload-message">{{ data.message }}</h2> <# } #> <div class="upload-ui"> <h2 class="upload-instructions drop-instructions">Drop files to upload</h2> <p class="upload-instructions drop-instructions">or</p> <button type="button" class="browser button button-hero" aria-labelledby="post-upload-info">Select Files</button> </div> <div class="upload-inline-status"></div> <div class="post-upload-ui" id="post-upload-info"> <p class="max-upload-size"> Maximum upload file size: 50 MB. </p> <# if ( data.suggestedWidth && data.suggestedHeight ) { #> <p class="suggested-dimensions"> Suggested image dimensions: {{data.suggestedWidth}} by {{data.suggestedHeight}} pixels. </p> <# } #> </div> </div> </script> <script type="text/html" id="tmpl-media-library-view-switcher"> <a href="https://www.therobotreport.com/wp-admin/upload.php?mode=list" class="view-list"> <span class="screen-reader-text"> List view </span> </a> <a href="https://www.therobotreport.com/wp-admin/upload.php?mode=grid" class="view-grid current" aria-current="page"> <span class="screen-reader-text"> Grid view </span> </a> </script> <script type="text/html" id="tmpl-uploader-status"> <h2>Uploading</h2> <div class="media-progress-bar"><div></div></div> <div class="upload-details"> <span class="upload-count"> <span class="upload-index"></span> / <span class="upload-total"></span> </span> <span class="upload-detail-separator">–</span> <span class="upload-filename"></span> </div> <div class="upload-errors"></div> <button type="button" class="button upload-dismiss-errors">Dismiss errors</button> </script> <script type="text/html" id="tmpl-uploader-status-error"> <span class="upload-error-filename">{{{ data.filename }}}</span> <span class="upload-error-message">{{ data.message }}</span> </script> <script type="text/html" id="tmpl-edit-attachment-frame"> <div class="edit-media-header"> <button class="left dashicons"<# if ( ! data.hasPrevious ) { #> disabled<# } #>><span class="screen-reader-text">Edit previous media item</span></button> <button class="right dashicons"<# if ( ! data.hasNext ) { #> disabled<# } #>><span class="screen-reader-text">Edit next media item</span></button> <button type="button" class="media-modal-close"><span class="media-modal-icon"><span class="screen-reader-text">Close dialog</span></span></button> </div> <div class="media-frame-title"></div> <div class="media-frame-content"></div> </script> <script type="text/html" id="tmpl-attachment-details-two-column"> <div class="attachment-media-view {{ data.orientation }}"> <h2 class="screen-reader-text">Attachment Preview</h2> <div class="thumbnail thumbnail-{{ data.type }}"> <# if ( data.uploading ) { #> <div class="media-progress-bar"><div></div></div> <# } else if ( data.sizes && data.sizes.full ) { #> <img class="details-image" src="{{ data.sizes.full.url }}" draggable="false" alt="" /> <# } else if ( data.sizes && data.sizes.large ) { #> <img class="details-image" src="{{ data.sizes.large.url }}" draggable="false" alt="" /> <# } else if ( -1 === jQuery.inArray( data.type, [ 'audio', 'video' ] ) ) { #> <img class="details-image icon" src="{{ data.icon }}" draggable="false" alt="" /> <# } #> <# if ( 'audio' === data.type ) { #> <div class="wp-media-wrapper wp-audio"> <audio style="visibility: hidden" controls class="wp-audio-shortcode" width="100%" preload="none"> <source type="{{ data.mime }}" src="{{ data.url }}" /> </audio> </div> <# } else if ( 'video' === data.type ) { var w_rule = ''; if ( data.width ) { w_rule = 'width: ' + data.width + 'px;'; } else if ( wp.media.view.settings.contentWidth ) { w_rule = 'width: ' + wp.media.view.settings.contentWidth + 'px;'; } #> <div style="{{ w_rule }}" class="wp-media-wrapper wp-video"> <video controls="controls" class="wp-video-shortcode" preload="metadata" <# if ( data.width ) { #>width="{{ data.width }}"<# } #> <# if ( data.height ) { #>height="{{ data.height }}"<# } #> <# if ( data.image && data.image.src !== data.icon ) { #>poster="{{ data.image.src }}"<# } #>> <source type="{{ data.mime }}" src="{{ data.url }}" /> </video> </div> <# } #> <div class="attachment-actions"> <# if ( 'image' === data.type && ! data.uploading && data.sizes && data.can.save ) { #> <button type="button" class="button edit-attachment">Edit Image</button> <# } else if ( 'pdf' === data.subtype && data.sizes ) { #> <p>Document Preview</p> <# } #> </div> </div> </div> <div class="attachment-info"> <span class="settings-save-status" role="status"> <span class="spinner"></span> <span class="saved">Saved.</span> </span> <div class="details"> <h2 class="screen-reader-text"> Details </h2> <div class="uploaded"><strong>Uploaded on:</strong> {{ data.dateFormatted }}</div> <div class="uploaded-by"> <strong>Uploaded by:</strong> <# if ( data.authorLink ) { #> <a href="{{ data.authorLink }}">{{ data.authorName }}</a> <# } else { #> {{ data.authorName }} <# } #> </div> <# if ( data.uploadedToTitle ) { #> <div class="uploaded-to"> <strong>Uploaded to:</strong> <# if ( data.uploadedToLink ) { #> <a href="{{ data.uploadedToLink }}">{{ data.uploadedToTitle }}</a> <# } else { #> {{ data.uploadedToTitle }} <# } #> </div> <# } #> <div class="filename"><strong>File name:</strong> {{ data.filename }}</div> <div class="file-type"><strong>File type:</strong> {{ data.mime }}</div> <div class="file-size"><strong>File size:</strong> {{ data.filesizeHumanReadable }}</div> <# if ( 'image' === data.type && ! data.uploading ) { #> <# if ( data.width && data.height ) { #> <div class="dimensions"><strong>Dimensions:</strong> {{ data.width }} by {{ data.height }} pixels </div> <# } #> <# if ( data.originalImageURL && data.originalImageName ) { #> <div class="word-wrap-break-word"> <strong>Original image:</strong> <a href="{{ data.originalImageURL }}">{{data.originalImageName}}</a> </div> <# } #> <# } #> <# if ( data.fileLength && data.fileLengthHumanReadable ) { #> <div class="file-length"><strong>Length:</strong> <span aria-hidden="true">{{ data.fileLengthHumanReadable }}</span> <span class="screen-reader-text">{{ data.fileLengthHumanReadable }}</span> </div> <# } #> <# if ( 'audio' === data.type && data.meta.bitrate ) { #> <div class="bitrate"> <strong>Bitrate:</strong> {{ Math.round( data.meta.bitrate / 1000 ) }}kb/s <# if ( data.meta.bitrate_mode ) { #> {{ ' ' + data.meta.bitrate_mode.toUpperCase() }} <# } #> </div> <# } #> <# if ( data.mediaStates ) { #> <div class="media-states"><strong>Used as:</strong> {{ data.mediaStates }}</div> <# } #> <div class="compat-meta"> <# if ( data.compat && data.compat.meta ) { #> {{{ data.compat.meta }}} <# } #> </div> </div> <div class="settings"> <# var maybeReadOnly = data.can.save || data.allowLocalEdits ? '' : 'readonly'; #> <# if ( 'image' === data.type ) { #> <span class="setting alt-text has-description" data-setting="alt"> <label for="attachment-details-two-column-alt-text" class="name">Alternative Text</label> <textarea id="attachment-details-two-column-alt-text" aria-describedby="alt-text-description" {{ maybeReadOnly }}>{{ data.alt }}</textarea> </span> <p class="description" id="alt-text-description"><a href="https://www.w3.org/WAI/tutorials/images/decision-tree/" target="_blank">Learn how to describe the purpose of the image<span class="screen-reader-text"> (opens in a new tab)</span></a>. Leave empty if the image is purely decorative.</p> <# } #> <span class="setting" data-setting="title"> <label for="attachment-details-two-column-title" class="name">Title</label> <input type="text" id="attachment-details-two-column-title" value="{{ data.title }}" {{ maybeReadOnly }} /> </span> <# if ( 'audio' === data.type ) { #> <span class="setting" data-setting="artist"> <label for="attachment-details-two-column-artist" class="name">Artist</label> <input type="text" id="attachment-details-two-column-artist" value="{{ data.artist || data.meta.artist || '' }}" /> </span> <span class="setting" data-setting="album"> <label for="attachment-details-two-column-album" class="name">Album</label> <input type="text" id="attachment-details-two-column-album" value="{{ data.album || data.meta.album || '' }}" /> </span> <# } #> <span class="setting" data-setting="caption"> <label for="attachment-details-two-column-caption" class="name">Caption</label> <textarea id="attachment-details-two-column-caption" {{ maybeReadOnly }}>{{ data.caption }}</textarea> </span> <span class="setting" data-setting="description"> <label for="attachment-details-two-column-description" class="name">Description</label> <textarea id="attachment-details-two-column-description" {{ maybeReadOnly }}>{{ data.description }}</textarea> </span> <span class="setting" data-setting="url"> <label for="attachment-details-two-column-copy-link" class="name">File URL:</label> <input type="text" class="attachment-details-copy-link" id="attachment-details-two-column-copy-link" value="{{ data.url }}" readonly /> <span class="copy-to-clipboard-container"> <button type="button" class="button button-small copy-attachment-url" data-clipboard-target="#attachment-details-two-column-copy-link">Copy URL to clipboard</button> <span class="success hidden" aria-hidden="true">Copied!</span> </span> </span> <div class="attachment-compat"></div> </div> <div class="actions"> <# if ( data.link ) { #> <a class="view-attachment" href="{{ data.link }}">View attachment page</a> <# } #> <# if ( data.can.save ) { #> <# if ( data.link ) { #> <span class="links-separator">|</span> <# } #> <a href="{{ data.editLink }}">Edit more details</a> <# } #> <# if ( data.can.save && data.link ) { #> <span class="links-separator">|</span> <a href="{{ data.url }}" download>Download file</a> <# } #> <# if ( ! data.uploading && data.can.remove ) { #> <# if ( data.link || data.can.save ) { #> <span class="links-separator">|</span> <# } #> <button type="button" class="button-link delete-attachment">Delete permanently</button> <# } #> </div> </div> </script> <script type="text/html" id="tmpl-attachment"> <div class="attachment-preview js--select-attachment type-{{ data.type }} subtype-{{ data.subtype }} {{ data.orientation }}"> <div class="thumbnail"> <# if ( data.uploading ) { #> <div class="media-progress-bar"><div style="width: {{ data.percent }}%"></div></div> <# } else if ( 'image' === data.type && data.size && data.size.url ) { #> <div class="centered"> <img src="{{ data.size.url }}" draggable="false" alt="" /> </div> <# } else { #> <div class="centered"> <# if ( data.image && data.image.src && data.image.src !== data.icon ) { #> <img src="{{ data.image.src }}" class="thumbnail" draggable="false" alt="" /> <# } else if ( data.sizes ) { if ( data.sizes.medium ) { #> <img src="{{ data.sizes.medium.url }}" class="thumbnail" draggable="false" alt="" /> <# } else { #> <img src="{{ data.sizes.full.url }}" class="thumbnail" draggable="false" alt="" /> <# } #> <# } else { #> <img src="{{ data.icon }}" class="icon" draggable="false" alt="" /> <# } #> </div> <div class="filename"> <div>{{ data.filename }}</div> </div> <# } #> </div> <# if ( data.buttons.close ) { #> <button type="button" class="button-link attachment-close media-modal-icon"><span class="screen-reader-text"> Remove </span></button> <# } #> </div> <# if ( data.buttons.check ) { #> <button type="button" class="check" tabindex="-1"><span class="media-modal-icon"></span><span class="screen-reader-text"> Deselect </span></button> <# } #> <# var maybeReadOnly = data.can.save || data.allowLocalEdits ? '' : 'readonly'; if ( data.describe ) { if ( 'image' === data.type ) { #> <input type="text" value="{{ data.caption }}" class="describe" data-setting="caption" aria-label="Caption" placeholder="Caption…" {{ maybeReadOnly }} /> <# } else { #> <input type="text" value="{{ data.title }}" class="describe" data-setting="title" <# if ( 'video' === data.type ) { #> aria-label="Video title" placeholder="Video title…" <# } else if ( 'audio' === data.type ) { #> aria-label="Audio title" placeholder="Audio title…" <# } else { #> aria-label="Media title" placeholder="Media title…" <# } #> {{ maybeReadOnly }} /> <# } } #> </script> <script type="text/html" id="tmpl-attachment-details"> <h2> Attachment Details <span class="settings-save-status" role="status"> <span class="spinner"></span> <span class="saved">Saved.</span> </span> </h2> <div class="attachment-info"> <# if ( 'audio' === data.type ) { #> <div class="wp-media-wrapper wp-audio"> <audio style="visibility: hidden" controls class="wp-audio-shortcode" width="100%" preload="none"> <source type="{{ data.mime }}" src="{{ data.url }}" /> </audio> </div> <# } else if ( 'video' === data.type ) { var w_rule = ''; if ( data.width ) { w_rule = 'width: ' + data.width + 'px;'; } else if ( wp.media.view.settings.contentWidth ) { w_rule = 'width: ' + wp.media.view.settings.contentWidth + 'px;'; } #> <div style="{{ w_rule }}" class="wp-media-wrapper wp-video"> <video controls="controls" class="wp-video-shortcode" preload="metadata" <# if ( data.width ) { #>width="{{ data.width }}"<# } #> <# if ( data.height ) { #>height="{{ data.height }}"<# } #> <# if ( data.image && data.image.src !== data.icon ) { #>poster="{{ data.image.src }}"<# } #>> <source type="{{ data.mime }}" src="{{ data.url }}" /> </video> </div> <# } else { #> <div class="thumbnail thumbnail-{{ data.type }}"> <# if ( data.uploading ) { #> <div class="media-progress-bar"><div></div></div> <# } else if ( 'image' === data.type && data.size && data.size.url ) { #> <img src="{{ data.size.url }}" draggable="false" alt="" /> <# } else { #> <img src="{{ data.icon }}" class="icon" draggable="false" alt="" /> <# } #> </div> <# } #> <div class="details"> <div class="filename">{{ data.filename }}</div> <div class="uploaded">{{ data.dateFormatted }}</div> <div class="file-size">{{ data.filesizeHumanReadable }}</div> <# if ( 'image' === data.type && ! data.uploading ) { #> <# if ( data.width && data.height ) { #> <div class="dimensions"> {{ data.width }} by {{ data.height }} pixels </div> <# } #> <# if ( data.originalImageURL && data.originalImageName ) { #> <div class="word-wrap-break-word"> Original image: <a href="{{ data.originalImageURL }}">{{data.originalImageName}}</a> </div> <# } #> <# if ( data.can.save && data.sizes ) { #> <a class="edit-attachment" href="{{ data.editLink }}&image-editor" target="_blank">Edit Image</a> <# } #> <# } #> <# if ( data.fileLength && data.fileLengthHumanReadable ) { #> <div class="file-length">Length: <span aria-hidden="true">{{ data.fileLengthHumanReadable }}</span> <span class="screen-reader-text">{{ data.fileLengthHumanReadable }}</span> </div> <# } #> <# if ( data.mediaStates ) { #> <div class="media-states"><strong>Used as:</strong> {{ data.mediaStates }}</div> <# } #> <# if ( ! data.uploading && data.can.remove ) { #> <button type="button" class="button-link delete-attachment">Delete permanently</button> <# } #> <div class="compat-meta"> <# if ( data.compat && data.compat.meta ) { #> {{{ data.compat.meta }}} <# } #> </div> </div> </div> <# var maybeReadOnly = data.can.save || data.allowLocalEdits ? '' : 'readonly'; #> <# if ( 'image' === data.type ) { #> <span class="setting alt-text has-description" data-setting="alt"> <label for="attachment-details-alt-text" class="name">Alt Text</label> <textarea id="attachment-details-alt-text" aria-describedby="alt-text-description" {{ maybeReadOnly }}>{{ data.alt }}</textarea> </span> <p class="description" id="alt-text-description"><a href="https://www.w3.org/WAI/tutorials/images/decision-tree/" target="_blank">Learn how to describe the purpose of the image<span class="screen-reader-text"> (opens in a new tab)</span></a>. Leave empty if the image is purely decorative.</p> <# } #> <span class="setting" data-setting="title"> <label for="attachment-details-title" class="name">Title</label> <input type="text" id="attachment-details-title" value="{{ data.title }}" {{ maybeReadOnly }} /> </span> <# if ( 'audio' === data.type ) { #> <span class="setting" data-setting="artist"> <label for="attachment-details-artist" class="name">Artist</label> <input type="text" id="attachment-details-artist" value="{{ data.artist || data.meta.artist || '' }}" /> </span> <span class="setting" data-setting="album"> <label for="attachment-details-album" class="name">Album</label> <input type="text" id="attachment-details-album" value="{{ data.album || data.meta.album || '' }}" /> </span> <# } #> <span class="setting" data-setting="caption"> <label for="attachment-details-caption" class="name">Caption</label> <textarea id="attachment-details-caption" {{ maybeReadOnly }}>{{ data.caption }}</textarea> </span> <span class="setting" data-setting="description"> <label for="attachment-details-description" class="name">Description</label> <textarea id="attachment-details-description" {{ maybeReadOnly }}>{{ data.description }}</textarea> </span> <span class="setting" data-setting="url"> <label for="attachment-details-copy-link" class="name">File URL:</label> <input type="text" class="attachment-details-copy-link" id="attachment-details-copy-link" value="{{ data.url }}" readonly /> <div class="copy-to-clipboard-container"> <button type="button" class="button button-small copy-attachment-url" data-clipboard-target="#attachment-details-copy-link">Copy URL to clipboard</button> <span class="success hidden" aria-hidden="true">Copied!</span> </div> </span> </script> <script type="text/html" id="tmpl-media-selection"> <div class="selection-info"> <span class="count"></span> <# if ( data.editable ) { #> <button type="button" class="button-link edit-selection">Edit Selection</button> <# } #> <# if ( data.clearable ) { #> <button type="button" class="button-link clear-selection">Clear</button> <# } #> </div> <div class="selection-view"></div> </script> <script type="text/html" id="tmpl-attachment-display-settings"> <h2>Attachment Display Settings</h2> <# if ( 'image' === data.type ) { #> <span class="setting align"> <label for="attachment-display-settings-alignment" class="name">Alignment</label> <select id="attachment-display-settings-alignment" class="alignment" data-setting="align" <# if ( data.userSettings ) { #> data-user-setting="align" <# } #>> <option value="left"> Left </option> <option value="center"> Center </option> <option value="right"> Right </option> <option value="none" selected> None </option> </select> </span> <# } #> <span class="setting"> <label for="attachment-display-settings-link-to" class="name"> <# if ( data.model.canEmbed ) { #> Embed or Link <# } else { #> Link To <# } #> </label> <select id="attachment-display-settings-link-to" class="link-to" data-setting="link" <# if ( data.userSettings && ! data.model.canEmbed ) { #> data-user-setting="urlbutton" <# } #>> <# if ( data.model.canEmbed ) { #> <option value="embed" selected> Embed Media Player </option> <option value="file"> <# } else { #> <option value="none" selected> None </option> <option value="file"> <# } #> <# if ( data.model.canEmbed ) { #> Link to Media File <# } else { #> Media File <# } #> </option> <option value="post"> <# if ( data.model.canEmbed ) { #> Link to Attachment Page <# } else { #> Attachment Page <# } #> </option> <# if ( 'image' === data.type ) { #> <option value="custom"> Custom URL </option> <# } #> </select> </span> <span class="setting"> <label for="attachment-display-settings-link-to-custom" class="name">URL</label> <input type="text" id="attachment-display-settings-link-to-custom" class="link-to-custom" data-setting="linkUrl" /> </span> <# if ( 'undefined' !== typeof data.sizes ) { #> <span class="setting"> <label for="attachment-display-settings-size" class="name">Size</label> <select id="attachment-display-settings-size" class="size" name="size" data-setting="size" <# if ( data.userSettings ) { #> data-user-setting="imgsize" <# } #>> <# var size = data.sizes['thumbnail']; if ( size ) { #> <option value="thumbnail" > Thumbnail – {{ size.width }} × {{ size.height }} </option> <# } #> <# var size = data.sizes['medium']; if ( size ) { #> <option value="medium" > Medium – {{ size.width }} × {{ size.height }} </option> <# } #> <# var size = data.sizes['large']; if ( size ) { #> <option value="large" > Large – {{ size.width }} × {{ size.height }} </option> <# } #> <# var size = data.sizes['full']; if ( size ) { #> <option value="full" selected='selected'> Full Size – {{ size.width }} × {{ size.height }} </option> <# } #> </select> </span> <# } #> </script> <script type="text/html" id="tmpl-gallery-settings"> <h2>Gallery Settings</h2> <span class="setting"> <label for="gallery-settings-link-to" class="name">Link To</label> <select id="gallery-settings-link-to" class="link-to" data-setting="link" <# if ( data.userSettings ) { #> data-user-setting="urlbutton" <# } #>> <option value="post" <# if ( ! wp.media.galleryDefaults.link || 'post' === wp.media.galleryDefaults.link ) { #>selected="selected"<# } #>> Attachment Page </option> <option value="file" <# if ( 'file' === wp.media.galleryDefaults.link ) { #>selected="selected"<# } #>> Media File </option> <option value="none" <# if ( 'none' === wp.media.galleryDefaults.link ) { #>selected="selected"<# } #>> None </option> </select> </span> <span class="setting"> <label for="gallery-settings-columns" class="name select-label-inline">Columns</label> <select id="gallery-settings-columns" class="columns" name="columns" data-setting="columns"> <option value="1" <# if ( 1 == wp.media.galleryDefaults.columns ) { #>selected="selected"<# } #>> 1 </option> <option value="2" <# if ( 2 == wp.media.galleryDefaults.columns ) { #>selected="selected"<# } #>> 2 </option> <option value="3" <# if ( 3 == wp.media.galleryDefaults.columns ) { #>selected="selected"<# } #>> 3 </option> <option value="4" <# if ( 4 == wp.media.galleryDefaults.columns ) { #>selected="selected"<# } #>> 4 </option> <option value="5" <# if ( 5 == wp.media.galleryDefaults.columns ) { #>selected="selected"<# } #>> 5 </option> <option value="6" <# if ( 6 == wp.media.galleryDefaults.columns ) { #>selected="selected"<# } #>> 6 </option> <option value="7" <# if ( 7 == wp.media.galleryDefaults.columns ) { #>selected="selected"<# } #>> 7 </option> <option value="8" <# if ( 8 == wp.media.galleryDefaults.columns ) { #>selected="selected"<# } #>> 8 </option> <option value="9" <# if ( 9 == wp.media.galleryDefaults.columns ) { #>selected="selected"<# } #>> 9 </option> </select> </span> <span class="setting"> <input type="checkbox" id="gallery-settings-random-order" data-setting="_orderbyRandom" /> <label for="gallery-settings-random-order" class="checkbox-label-inline">Random Order</label> </span> <span class="setting size"> <label for="gallery-settings-size" class="name">Size</label> <select id="gallery-settings-size" class="size" name="size" data-setting="size" <# if ( data.userSettings ) { #> data-user-setting="imgsize" <# } #> > <option value="thumbnail"> Thumbnail </option> <option value="medium"> Medium </option> <option value="large"> Large </option> <option value="full"> Full Size </option> </select> </span> </script> <script type="text/html" id="tmpl-playlist-settings"> <h2>Playlist Settings</h2> <# var emptyModel = _.isEmpty( data.model ), isVideo = 'video' === data.controller.get('library').props.get('type'); #> <span class="setting"> <input type="checkbox" id="playlist-settings-show-list" data-setting="tracklist" <# if ( emptyModel ) { #> checked="checked" <# } #> /> <label for="playlist-settings-show-list" class="checkbox-label-inline"> <# if ( isVideo ) { #> Show Video List <# } else { #> Show Tracklist <# } #> </label> </span> <# if ( ! isVideo ) { #> <span class="setting"> <input type="checkbox" id="playlist-settings-show-artist" data-setting="artists" <# if ( emptyModel ) { #> checked="checked" <# } #> /> <label for="playlist-settings-show-artist" class="checkbox-label-inline"> Show Artist Name in Tracklist </label> </span> <# } #> <span class="setting"> <input type="checkbox" id="playlist-settings-show-images" data-setting="images" <# if ( emptyModel ) { #> checked="checked" <# } #> /> <label for="playlist-settings-show-images" class="checkbox-label-inline"> Show Images </label> </span> </script> <script type="text/html" id="tmpl-embed-link-settings"> <span class="setting link-text"> <label for="embed-link-settings-link-text" class="name">Link Text</label> <input type="text" id="embed-link-settings-link-text" class="alignment" data-setting="linkText" /> </span> <div class="embed-container" style="display: none;"> <div class="embed-preview"></div> </div> </script> <script type="text/html" id="tmpl-embed-image-settings"> <div class="wp-clearfix"> <div class="thumbnail"> <img src="{{ data.model.url }}" draggable="false" alt="" /> </div> </div> <span class="setting alt-text has-description"> <label for="embed-image-settings-alt-text" class="name">Alternative Text</label> <textarea id="embed-image-settings-alt-text" data-setting="alt" aria-describedby="alt-text-description"></textarea> </span> <p class="description" id="alt-text-description"><a href="https://www.w3.org/WAI/tutorials/images/decision-tree/" target="_blank">Learn how to describe the purpose of the image<span class="screen-reader-text"> (opens in a new tab)</span></a>. Leave empty if the image is purely decorative.</p> <span class="setting caption"> <label for="embed-image-settings-caption" class="name">Caption</label> <textarea id="embed-image-settings-caption" data-setting="caption"></textarea> </span> <fieldset class="setting-group"> <legend class="name">Align</legend> <span class="setting align"> <span class="button-group button-large" data-setting="align"> <button class="button" value="left"> Left </button> <button class="button" value="center"> Center </button> <button class="button" value="right"> Right </button> <button class="button active" value="none"> None </button> </span> </span> </fieldset> <fieldset class="setting-group"> <legend class="name">Link To</legend> <span class="setting link-to"> <span class="button-group button-large" data-setting="link"> <button class="button" value="file"> Image URL </button> <button class="button" value="custom"> Custom URL </button> <button class="button active" value="none"> None </button> </span> </span> <span class="setting"> <label for="embed-image-settings-link-to-custom" class="name">URL</label> <input type="text" id="embed-image-settings-link-to-custom" class="link-to-custom" data-setting="linkUrl" /> </span> </fieldset> </script> <script type="text/html" id="tmpl-image-details"> <div class="media-embed"> <div class="embed-media-settings"> <div class="column-settings"> <span class="setting alt-text has-description"> <label for="image-details-alt-text" class="name">Alternative Text</label> <textarea id="image-details-alt-text" data-setting="alt" aria-describedby="alt-text-description">{{ data.model.alt }}</textarea> </span> <p class="description" id="alt-text-description"><a href="https://www.w3.org/WAI/tutorials/images/decision-tree/" target="_blank">Learn how to describe the purpose of the image<span class="screen-reader-text"> (opens in a new tab)</span></a>. Leave empty if the image is purely decorative.</p> <span class="setting caption"> <label for="image-details-caption" class="name">Caption</label> <textarea id="image-details-caption" data-setting="caption">{{ data.model.caption }}</textarea> </span> <h2>Display Settings</h2> <fieldset class="setting-group"> <legend class="legend-inline">Align</legend> <span class="setting align"> <span class="button-group button-large" data-setting="align"> <button class="button" value="left"> Left </button> <button class="button" value="center"> Center </button> <button class="button" value="right"> Right </button> <button class="button active" value="none"> None </button> </span> </span> </fieldset> <# if ( data.attachment ) { #> <# if ( 'undefined' !== typeof data.attachment.sizes ) { #> <span class="setting size"> <label for="image-details-size" class="name">Size</label> <select id="image-details-size" class="size" name="size" data-setting="size" <# if ( data.userSettings ) { #> data-user-setting="imgsize" <# } #>> <# var size = data.sizes['thumbnail']; if ( size ) { #> <option value="thumbnail"> Thumbnail – {{ size.width }} × {{ size.height }} </option> <# } #> <# var size = data.sizes['medium']; if ( size ) { #> <option value="medium"> Medium – {{ size.width }} × {{ size.height }} </option> <# } #> <# var size = data.sizes['large']; if ( size ) { #> <option value="large"> Large – {{ size.width }} × {{ size.height }} </option> <# } #> <# var size = data.sizes['full']; if ( size ) { #> <option value="full"> Full Size – {{ size.width }} × {{ size.height }} </option> <# } #> <option value="custom"> Custom Size </option> </select> </span> <# } #> <div class="custom-size wp-clearfix<# if ( data.model.size !== 'custom' ) { #> hidden<# } #>"> <span class="custom-size-setting"> <label for="image-details-size-width">Width</label> <input type="number" id="image-details-size-width" aria-describedby="image-size-desc" data-setting="customWidth" step="1" value="{{ data.model.customWidth }}" /> </span> <span class="sep" aria-hidden="true">×</span> <span class="custom-size-setting"> <label for="image-details-size-height">Height</label> <input type="number" id="image-details-size-height" aria-describedby="image-size-desc" data-setting="customHeight" step="1" value="{{ data.model.customHeight }}" /> </span> <p id="image-size-desc" class="description">Image size in pixels</p> </div> <# } #> <span class="setting link-to"> <label for="image-details-link-to" class="name">Link To</label> <select id="image-details-link-to" data-setting="link"> <# if ( data.attachment ) { #> <option value="file"> Media File </option> <option value="post"> Attachment Page </option> <# } else { #> <option value="file"> Image URL </option> <# } #> <option value="custom"> Custom URL </option> <option value="none"> None </option> </select> </span> <span class="setting"> <label for="image-details-link-to-custom" class="name">URL</label> <input type="text" id="image-details-link-to-custom" class="link-to-custom" data-setting="linkUrl" /> </span> <div class="advanced-section"> <h2><button type="button" class="button-link advanced-toggle">Advanced Options</button></h2> <div class="advanced-settings hidden"> <div class="advanced-image"> <span class="setting title-text"> <label for="image-details-title-attribute" class="name">Image Title Attribute</label> <input type="text" id="image-details-title-attribute" data-setting="title" value="{{ data.model.title }}" /> </span> <span class="setting extra-classes"> <label for="image-details-css-class" class="name">Image CSS Class</label> <input type="text" id="image-details-css-class" data-setting="extraClasses" value="{{ data.model.extraClasses }}" /> </span> </div> <div class="advanced-link"> <span class="setting link-target"> <input type="checkbox" id="image-details-link-target" data-setting="linkTargetBlank" value="_blank" <# if ( data.model.linkTargetBlank ) { #>checked="checked"<# } #>> <label for="image-details-link-target" class="checkbox-label">Open link in a new tab</label> </span> <span class="setting link-rel"> <label for="image-details-link-rel" class="name">Link Rel</label> <input type="text" id="image-details-link-rel" data-setting="linkRel" value="{{ data.model.linkRel }}" /> </span> <span class="setting link-class-name"> <label for="image-details-link-css-class" class="name">Link CSS Class</label> <input type="text" id="image-details-link-css-class" data-setting="linkClassName" value="{{ data.model.linkClassName }}" /> </span> </div> </div> </div> </div> <div class="column-image"> <div class="image"> <img src="{{ data.model.url }}" draggable="false" alt="" /> <# if ( data.attachment && window.imageEdit ) { #> <div class="actions"> <input type="button" class="edit-attachment button" value="Edit Original" /> <input type="button" class="replace-attachment button" value="Replace" /> </div> <# } #> </div> </div> </div> </div> </script> <script type="text/html" id="tmpl-image-editor"> <div id="media-head-{{ data.id }}"></div> <div id="image-editor-{{ data.id }}"></div> </script> <script type="text/html" id="tmpl-audio-details"> <# var ext, html5types = { mp3: wp.media.view.settings.embedMimes.mp3, ogg: wp.media.view.settings.embedMimes.ogg }; #> <div class="media-embed media-embed-details"> <div class="embed-media-settings embed-audio-settings"> <audio style="visibility: hidden" controls class="wp-audio-shortcode" width="{{ _.isUndefined( data.model.width ) ? 400 : data.model.width }}" preload="{{ _.isUndefined( data.model.preload ) ? 'none' : data.model.preload }}" <# if ( ! _.isUndefined( data.model.autoplay ) && data.model.autoplay ) { #> autoplay<# } if ( ! _.isUndefined( data.model.loop ) && data.model.loop ) { #> loop<# } #> > <# if ( ! _.isEmpty( data.model.src ) ) { #> <source src="{{ data.model.src }}" type="{{ wp.media.view.settings.embedMimes[ data.model.src.split('.').pop() ] }}" /> <# } #> <# if ( ! _.isEmpty( data.model.mp3 ) ) { #> <source src="{{ data.model.mp3 }}" type="{{ wp.media.view.settings.embedMimes[ 'mp3' ] }}" /> <# } #> <# if ( ! _.isEmpty( data.model.ogg ) ) { #> <source src="{{ data.model.ogg }}" type="{{ wp.media.view.settings.embedMimes[ 'ogg' ] }}" /> <# } #> <# if ( ! _.isEmpty( data.model.flac ) ) { #> <source src="{{ data.model.flac }}" type="{{ wp.media.view.settings.embedMimes[ 'flac' ] }}" /> <# } #> <# if ( ! _.isEmpty( data.model.m4a ) ) { #> <source src="{{ data.model.m4a }}" type="{{ wp.media.view.settings.embedMimes[ 'm4a' ] }}" /> <# } #> <# if ( ! _.isEmpty( data.model.wav ) ) { #> <source src="{{ data.model.wav }}" type="{{ wp.media.view.settings.embedMimes[ 'wav' ] }}" /> <# } #> </audio> <# if ( ! _.isEmpty( data.model.src ) ) { ext = data.model.src.split('.').pop(); if ( html5types[ ext ] ) { delete html5types[ ext ]; } #> <span class="setting"> <label for="audio-details-source" class="name">URL</label> <input type="text" id="audio-details-source" readonly data-setting="src" value="{{ data.model.src }}" /> <button type="button" class="button-link remove-setting">Remove audio source</button> </span> <# } #> <# if ( ! _.isEmpty( data.model.mp3 ) ) { if ( ! _.isUndefined( html5types.mp3 ) ) { delete html5types.mp3; } #> <span class="setting"> <label for="audio-details-mp3-source" class="name">MP3</label> <input type="text" id="audio-details-mp3-source" readonly data-setting="mp3" value="{{ data.model.mp3 }}" /> <button type="button" class="button-link remove-setting">Remove audio source</button> </span> <# } #> <# if ( ! _.isEmpty( data.model.ogg ) ) { if ( ! _.isUndefined( html5types.ogg ) ) { delete html5types.ogg; } #> <span class="setting"> <label for="audio-details-ogg-source" class="name">OGG</label> <input type="text" id="audio-details-ogg-source" readonly data-setting="ogg" value="{{ data.model.ogg }}" /> <button type="button" class="button-link remove-setting">Remove audio source</button> </span> <# } #> <# if ( ! _.isEmpty( data.model.flac ) ) { if ( ! _.isUndefined( html5types.flac ) ) { delete html5types.flac; } #> <span class="setting"> <label for="audio-details-flac-source" class="name">FLAC</label> <input type="text" id="audio-details-flac-source" readonly data-setting="flac" value="{{ data.model.flac }}" /> <button type="button" class="button-link remove-setting">Remove audio source</button> </span> <# } #> <# if ( ! _.isEmpty( data.model.m4a ) ) { if ( ! _.isUndefined( html5types.m4a ) ) { delete html5types.m4a; } #> <span class="setting"> <label for="audio-details-m4a-source" class="name">M4A</label> <input type="text" id="audio-details-m4a-source" readonly data-setting="m4a" value="{{ data.model.m4a }}" /> <button type="button" class="button-link remove-setting">Remove audio source</button> </span> <# } #> <# if ( ! _.isEmpty( data.model.wav ) ) { if ( ! _.isUndefined( html5types.wav ) ) { delete html5types.wav; } #> <span class="setting"> <label for="audio-details-wav-source" class="name">WAV</label> <input type="text" id="audio-details-wav-source" readonly data-setting="wav" value="{{ data.model.wav }}" /> <button type="button" class="button-link remove-setting">Remove audio source</button> </span> <# } #> <# if ( ! _.isEmpty( html5types ) ) { #> <fieldset class="setting-group"> <legend class="name">Add alternate sources for maximum HTML5 playback</legend> <span class="setting"> <span class="button-large"> <# _.each( html5types, function (mime, type) { #> <button class="button add-media-source" data-mime="{{ mime }}">{{ type }}</button> <# } ) #> </span> </span> </fieldset> <# } #> <fieldset class="setting-group"> <legend class="name">Preload</legend> <span class="setting preload"> <span class="button-group button-large" data-setting="preload"> <button class="button" value="auto">Auto</button> <button class="button" value="metadata">Metadata</button> <button class="button active" value="none">None</button> </span> </span> </fieldset> <span class="setting-group"> <span class="setting checkbox-setting autoplay"> <input type="checkbox" id="audio-details-autoplay" data-setting="autoplay" /> <label for="audio-details-autoplay" class="checkbox-label">Autoplay</label> </span> <span class="setting checkbox-setting"> <input type="checkbox" id="audio-details-loop" data-setting="loop" /> <label for="audio-details-loop" class="checkbox-label">Loop</label> </span> </span> </div> </div> </script> <script type="text/html" id="tmpl-video-details"> <# var ext, html5types = { mp4: wp.media.view.settings.embedMimes.mp4, ogv: wp.media.view.settings.embedMimes.ogv, webm: wp.media.view.settings.embedMimes.webm }; #> <div class="media-embed media-embed-details"> <div class="embed-media-settings embed-video-settings"> <div class="wp-video-holder"> <# var w = ! data.model.width || data.model.width > 640 ? 640 : data.model.width, h = ! data.model.height ? 360 : data.model.height; if ( data.model.width && w !== data.model.width ) { h = Math.ceil( ( h * w ) / data.model.width ); } #> <# var w_rule = '', classes = [], w, h, settings = wp.media.view.settings, isYouTube = isVimeo = false; if ( ! _.isEmpty( data.model.src ) ) { isYouTube = data.model.src.match(/youtube|youtu\.be/); isVimeo = -1 !== data.model.src.indexOf('vimeo'); } if ( settings.contentWidth && data.model.width >= settings.contentWidth ) { w = settings.contentWidth; } else { w = data.model.width; } if ( w !== data.model.width ) { h = Math.ceil( ( data.model.height * w ) / data.model.width ); } else { h = data.model.height; } if ( w ) { w_rule = 'width: ' + w + 'px; '; } if ( isYouTube ) { classes.push( 'youtube-video' ); } if ( isVimeo ) { classes.push( 'vimeo-video' ); } #> <div style="{{ w_rule }}" class="wp-video"> <video controls class="wp-video-shortcode {{ classes.join( ' ' ) }}" <# if ( w ) { #>width="{{ w }}"<# } #> <# if ( h ) { #>height="{{ h }}"<# } #> <# if ( ! _.isUndefined( data.model.poster ) && data.model.poster ) { #> poster="{{ data.model.poster }}"<# } #> preload ="{{ _.isUndefined( data.model.preload ) ? 'metadata' : data.model.preload }}" <# if ( ! _.isUndefined( data.model.autoplay ) && data.model.autoplay ) { #> autoplay<# } if ( ! _.isUndefined( data.model.loop ) && data.model.loop ) { #> loop<# } #> > <# if ( ! _.isEmpty( data.model.src ) ) { if ( isYouTube ) { #> <source src="{{ data.model.src }}" type="video/youtube" /> <# } else if ( isVimeo ) { #> <source src="{{ data.model.src }}" type="video/vimeo" /> <# } else { #> <source src="{{ data.model.src }}" type="{{ settings.embedMimes[ data.model.src.split('.').pop() ] }}" /> <# } } #> <# if ( data.model.mp4 ) { #> <source src="{{ data.model.mp4 }}" type="{{ settings.embedMimes[ 'mp4' ] }}" /> <# } #> <# if ( data.model.m4v ) { #> <source src="{{ data.model.m4v }}" type="{{ settings.embedMimes[ 'm4v' ] }}" /> <# } #> <# if ( data.model.webm ) { #> <source src="{{ data.model.webm }}" type="{{ settings.embedMimes[ 'webm' ] }}" /> <# } #> <# if ( data.model.ogv ) { #> <source src="{{ data.model.ogv }}" type="{{ settings.embedMimes[ 'ogv' ] }}" /> <# } #> <# if ( data.model.flv ) { #> <source src="{{ data.model.flv }}" type="{{ settings.embedMimes[ 'flv' ] }}" /> <# } #> {{{ data.model.content }}} </video> </div> <# if ( ! _.isEmpty( data.model.src ) ) { ext = data.model.src.split('.').pop(); if ( html5types[ ext ] ) { delete html5types[ ext ]; } #> <span class="setting"> <label for="video-details-source" class="name">URL</label> <input type="text" id="video-details-source" readonly data-setting="src" value="{{ data.model.src }}" /> <button type="button" class="button-link remove-setting">Remove video source</button> </span> <# } #> <# if ( ! _.isEmpty( data.model.mp4 ) ) { if ( ! _.isUndefined( html5types.mp4 ) ) { delete html5types.mp4; } #> <span class="setting"> <label for="video-details-mp4-source" class="name">MP4</label> <input type="text" id="video-details-mp4-source" readonly data-setting="mp4" value="{{ data.model.mp4 }}" /> <button type="button" class="button-link remove-setting">Remove video source</button> </span> <# } #> <# if ( ! _.isEmpty( data.model.m4v ) ) { if ( ! _.isUndefined( html5types.m4v ) ) { delete html5types.m4v; } #> <span class="setting"> <label for="video-details-m4v-source" class="name">M4V</label> <input type="text" id="video-details-m4v-source" readonly data-setting="m4v" value="{{ data.model.m4v }}" /> <button type="button" class="button-link remove-setting">Remove video source</button> </span> <# } #> <# if ( ! _.isEmpty( data.model.webm ) ) { if ( ! _.isUndefined( html5types.webm ) ) { delete html5types.webm; } #> <span class="setting"> <label for="video-details-webm-source" class="name">WEBM</label> <input type="text" id="video-details-webm-source" readonly data-setting="webm" value="{{ data.model.webm }}" /> <button type="button" class="button-link remove-setting">Remove video source</button> </span> <# } #> <# if ( ! _.isEmpty( data.model.ogv ) ) { if ( ! _.isUndefined( html5types.ogv ) ) { delete html5types.ogv; } #> <span class="setting"> <label for="video-details-ogv-source" class="name">OGV</label> <input type="text" id="video-details-ogv-source" readonly data-setting="ogv" value="{{ data.model.ogv }}" /> <button type="button" class="button-link remove-setting">Remove video source</button> </span> <# } #> <# if ( ! _.isEmpty( data.model.flv ) ) { if ( ! _.isUndefined( html5types.flv ) ) { delete html5types.flv; } #> <span class="setting"> <label for="video-details-flv-source" class="name">FLV</label> <input type="text" id="video-details-flv-source" readonly data-setting="flv" value="{{ data.model.flv }}" /> <button type="button" class="button-link remove-setting">Remove video source</button> </span> <# } #> </div> <# if ( ! _.isEmpty( html5types ) ) { #> <fieldset class="setting-group"> <legend class="name">Add alternate sources for maximum HTML5 playback</legend> <span class="setting"> <span class="button-large"> <# _.each( html5types, function (mime, type) { #> <button class="button add-media-source" data-mime="{{ mime }}">{{ type }}</button> <# } ) #> </span> </span> </fieldset> <# } #> <# if ( ! _.isEmpty( data.model.poster ) ) { #> <span class="setting"> <label for="video-details-poster-image" class="name">Poster Image</label> <input type="text" id="video-details-poster-image" readonly data-setting="poster" value="{{ data.model.poster }}" /> <button type="button" class="button-link remove-setting">Remove poster image</button> </span> <# } #> <fieldset class="setting-group"> <legend class="name">Preload</legend> <span class="setting preload"> <span class="button-group button-large" data-setting="preload"> <button class="button" value="auto">Auto</button> <button class="button" value="metadata">Metadata</button> <button class="button active" value="none">None</button> </span> </span> </fieldset> <span class="setting-group"> <span class="setting checkbox-setting autoplay"> <input type="checkbox" id="video-details-autoplay" data-setting="autoplay" /> <label for="video-details-autoplay" class="checkbox-label">Autoplay</label> </span> <span class="setting checkbox-setting"> <input type="checkbox" id="video-details-loop" data-setting="loop" /> <label for="video-details-loop" class="checkbox-label">Loop</label> </span> </span> <span class="setting" data-setting="content"> <# var content = ''; if ( ! _.isEmpty( data.model.content ) ) { var tracks = jQuery( data.model.content ).filter( 'track' ); _.each( tracks.toArray(), function( track, index ) { content += track.outerHTML; #> <label for="video-details-track-{{ index }}" class="name">Tracks (subtitles, captions, descriptions, chapters, or metadata)</label> <input class="content-track" type="text" id="video-details-track-{{ index }}" aria-describedby="video-details-track-desc-{{ index }}" value="{{ track.outerHTML }}" /> <span class="description" id="video-details-track-desc-{{ index }}"> The srclang, label, and kind values can be edited to set the video track language and kind. </span> <button type="button" class="button-link remove-setting remove-track">Remove video track</button><br /> <# } ); #> <# } else { #> <span class="name">Tracks (subtitles, captions, descriptions, chapters, or metadata)</span><br /> <em>There are no associated subtitles.</em> <# } #> <textarea class="hidden content-setting">{{ content }}</textarea> </span> </div> </div> </script> <script type="text/html" id="tmpl-editor-gallery"> <# if ( data.attachments.length ) { #> <div class="gallery gallery-columns-{{ data.columns }}"> <# _.each( data.attachments, function( attachment, index ) { #> <dl class="gallery-item"> <dt class="gallery-icon"> <# if ( attachment.thumbnail ) { #> <img src="{{ attachment.thumbnail.url }}" width="{{ attachment.thumbnail.width }}" height="{{ attachment.thumbnail.height }}" alt="{{ attachment.alt }}" /> <# } else { #> <img src="{{ attachment.url }}" alt="{{ attachment.alt }}" /> <# } #> </dt> <# if ( attachment.caption ) { #> <dd class="wp-caption-text gallery-caption"> {{{ data.verifyHTML( attachment.caption ) }}} </dd> <# } #> </dl> <# if ( index % data.columns === data.columns - 1 ) { #> <br style="clear: both;" /> <# } #> <# } ); #> </div> <# } else { #> <div class="wpview-error"> <div class="dashicons dashicons-format-gallery"></div><p>No items found.</p> </div> <# } #> </script> <script type="text/html" id="tmpl-crop-content"> <img class="crop-image" src="{{ data.url }}" alt="Image crop area preview. Requires mouse interaction." /> <div class="upload-errors"></div> </script> <script type="text/html" id="tmpl-site-icon-preview-crop"> <style> :root{ --site-icon-url: url( "{{ data.url }}" ); } </style> <h2>Site Icon Preview</h2> <p>As an app icon and a browser icon.</p> <div class="site-icon-preview crop"> <div class="image-preview-wrap app-icon-preview"> <img id="preview-app-icon" src="{{ data.url }}" class="app-icon-preview" alt="Preview as an app icon" /> </div> <div class="site-icon-preview-browser"> <svg role="img" aria-hidden="true" fill="none" xmlns="http://www.w3.org/2000/svg" class="browser-buttons"><path fill-rule="evenodd" clip-rule="evenodd" d="M0 20a6 6 0 1 1 12 0 6 6 0 0 1-12 0Zm18 0a6 6 0 1 1 12 0 6 6 0 0 1-12 0Zm24-6a6 6 0 1 0 0 12 6 6 0 0 0 0-12Z" /></svg> <div class="site-icon-preview-tab"> <div class="image-preview-wrap browser"> <img id="preview-favicon" src="{{ data.url }}" class="browser-icon-preview" alt="Preview as a browser icon" /> </div> <div class="site-icon-preview-site-title" aria-hidden="true"><# print( 'The Robot Report' ) #></div> <svg role="img" aria-hidden="true" fill="none" xmlns="http://www.w3.org/2000/svg" class="close-button"> <path d="M12 13.0607L15.7123 16.773L16.773 15.7123L13.0607 12L16.773 8.28772L15.7123 7.22706L12 10.9394L8.28771 7.22705L7.22705 8.28771L10.9394 12L7.22706 15.7123L8.28772 16.773L12 13.0607Z" /> </svg> </div> </div> </div> </div> </script> <script type="text/javascript" src="https://www.therobotreport.com/wp-content/plugins/prestitial/assets/js/adlogic.js?ver=1.1.0" id="wtwh_prestitial_core_js-js"></script> <script type="text/javascript" id="thickbox-js-extra"> /* <![CDATA[ */ var thickboxL10n = {"next":"Next >","prev":"< Prev","image":"Image","of":"of","close":"Close","noiframes":"This feature requires inline frames. You have iframes disabled or your browser does not support them.","loadingAnimation":"https:\/\/www.therobotreport.com\/wp-includes\/js\/thickbox\/loadingAnimation.gif"}; /* ]]> */ </script> <script type="text/javascript" src="https://www.therobotreport.com/wp-includes/js/thickbox/thickbox.js?ver=3.1-20121105" id="thickbox-js"></script> <script type="text/javascript" src="https://www.therobotreport.com/wp-includes/js/underscore.min.js?ver=1.13.7" id="underscore-js"></script> <script type="text/javascript" src="https://www.therobotreport.com/wp-includes/js/shortcode.min.js?ver=6.7" id="shortcode-js"></script> <script type="text/javascript" src="https://www.therobotreport.com/wp-admin/js/media-upload.min.js?ver=6.7" id="media-upload-js"></script> <script type="text/javascript" src="https://www.therobotreport.com/wp-includes/js/backbone.min.js?ver=1.6.0" id="backbone-js"></script> <script type="text/javascript" id="wp-util-js-extra"> /* <![CDATA[ */ var _wpUtilSettings = {"ajax":{"url":"\/wp-admin\/admin-ajax.php"}}; /* ]]> */ </script> <script type="text/javascript" src="https://www.therobotreport.com/wp-includes/js/wp-util.min.js?ver=6.7" id="wp-util-js"></script> <script type="text/javascript" src="https://www.therobotreport.com/wp-includes/js/wp-backbone.min.js?ver=6.7" id="wp-backbone-js"></script> <script type="text/javascript" id="media-models-js-extra"> /* <![CDATA[ */ var _wpMediaModelsL10n = {"settings":{"ajaxurl":"\/wp-admin\/admin-ajax.php","post":{"id":0}}}; /* ]]> */ </script> <script type="text/javascript" src="https://www.therobotreport.com/wp-includes/js/media-models.min.js?ver=6.7" id="media-models-js"></script> <script type="text/javascript" id="wp-plupload-js-extra"> /* <![CDATA[ */ var pluploadL10n = {"queue_limit_exceeded":"You have attempted to queue too many files.","file_exceeds_size_limit":"%s exceeds the maximum upload size for this site.","zero_byte_file":"This file is empty. Please try another.","invalid_filetype":"Sorry, you are not allowed to upload this file type.","not_an_image":"This file is not an image. Please try another.","image_memory_exceeded":"Memory exceeded. Please try another smaller file.","image_dimensions_exceeded":"This is larger than the maximum size. Please try another.","default_error":"An error occurred in the upload. Please try again later.","missing_upload_url":"There was a configuration error. Please contact the server administrator.","upload_limit_exceeded":"You may only upload 1 file.","http_error":"Unexpected response from the server. The file may have been uploaded successfully. Check in the Media Library or reload the page.","http_error_image":"The server cannot process the image. This can happen if the server is busy or does not have enough resources to complete the task. Uploading a smaller image may help. Suggested maximum size is 2560 pixels.","upload_failed":"Upload failed.","big_upload_failed":"Please try uploading this file with the %1$sbrowser uploader%2$s.","big_upload_queued":"%s exceeds the maximum upload size for the multi-file uploader when used in your browser.","io_error":"IO error.","security_error":"Security error.","file_cancelled":"File canceled.","upload_stopped":"Upload stopped.","dismiss":"Dismiss","crunching":"Crunching\u2026","deleted":"moved to the Trash.","error_uploading":"\u201c%s\u201d has failed to upload.","unsupported_image":"This image cannot be displayed in a web browser. For best results convert it to JPEG before uploading.","noneditable_image":"This image cannot be processed by the web server. Convert it to JPEG or PNG before uploading.","file_url_copied":"The file URL has been copied to your clipboard"}; var _wpPluploadSettings = {"defaults":{"file_data_name":"async-upload","url":"\/wp-admin\/async-upload.php","filters":{"max_file_size":"52428800b","mime_types":[{"extensions":"jpg,jpeg,jpe,gif,png,bmp,tiff,tif,webp,avif,ico,heic,heif,heics,heifs,asf,asx,wmv,wmx,wm,avi,divx,flv,mov,qt,mpeg,mpg,mpe,mp4,m4v,ogv,webm,mkv,3gp,3gpp,3g2,3gp2,txt,asc,c,cc,h,srt,csv,tsv,ics,rtx,css,vtt,dfxp,mp3,m4a,m4b,aac,ra,ram,wav,ogg,oga,flac,mid,midi,wma,wax,mka,rtf,pdf,class,tar,zip,gz,gzip,rar,7z,psd,xcf,doc,pot,pps,ppt,wri,xla,xls,xlt,xlw,mdb,mpp,docx,docm,dotx,dotm,xlsx,xlsm,xlsb,xltx,xltm,xlam,pptx,pptm,ppsx,ppsm,potx,potm,ppam,sldx,sldm,onetoc,onetoc2,onetmp,onepkg,oxps,xps,odt,odp,ods,odg,odc,odb,odf,wp,wpd,key,numbers,pages"}]},"multipart_params":{"action":"upload-attachment","_wpnonce":"271035c294"}},"browser":{"mobile":false,"supported":true},"limitExceeded":false}; /* ]]> */ </script> <script type="text/javascript" src="https://www.therobotreport.com/wp-includes/js/plupload/wp-plupload.min.js?ver=6.7" id="wp-plupload-js"></script> <script type="text/javascript" src="https://www.therobotreport.com/wp-includes/js/jquery/ui/core.min.js?ver=1.13.3" id="jquery-ui-core-js"></script> <script type="text/javascript" src="https://www.therobotreport.com/wp-includes/js/jquery/ui/mouse.min.js?ver=1.13.3" id="jquery-ui-mouse-js"></script> <script type="text/javascript" src="https://www.therobotreport.com/wp-includes/js/jquery/ui/sortable.min.js?ver=1.13.3" id="jquery-ui-sortable-js"></script> <script type="text/javascript" id="mediaelement-core-js-before"> /* <![CDATA[ */ var mejsL10n = {"language":"en","strings":{"mejs.download-file":"Download File","mejs.install-flash":"You are using a browser that does not have Flash player enabled or installed. Please turn on your Flash player plugin or download the latest version from https:\/\/get.adobe.com\/flashplayer\/","mejs.fullscreen":"Fullscreen","mejs.play":"Play","mejs.pause":"Pause","mejs.time-slider":"Time Slider","mejs.time-help-text":"Use Left\/Right Arrow keys to advance one second, Up\/Down arrows to advance ten seconds.","mejs.live-broadcast":"Live Broadcast","mejs.volume-help-text":"Use Up\/Down Arrow keys to increase or decrease volume.","mejs.unmute":"Unmute","mejs.mute":"Mute","mejs.volume-slider":"Volume Slider","mejs.video-player":"Video Player","mejs.audio-player":"Audio Player","mejs.captions-subtitles":"Captions\/Subtitles","mejs.captions-chapters":"Chapters","mejs.none":"None","mejs.afrikaans":"Afrikaans","mejs.albanian":"Albanian","mejs.arabic":"Arabic","mejs.belarusian":"Belarusian","mejs.bulgarian":"Bulgarian","mejs.catalan":"Catalan","mejs.chinese":"Chinese","mejs.chinese-simplified":"Chinese (Simplified)","mejs.chinese-traditional":"Chinese (Traditional)","mejs.croatian":"Croatian","mejs.czech":"Czech","mejs.danish":"Danish","mejs.dutch":"Dutch","mejs.english":"English","mejs.estonian":"Estonian","mejs.filipino":"Filipino","mejs.finnish":"Finnish","mejs.french":"French","mejs.galician":"Galician","mejs.german":"German","mejs.greek":"Greek","mejs.haitian-creole":"Haitian Creole","mejs.hebrew":"Hebrew","mejs.hindi":"Hindi","mejs.hungarian":"Hungarian","mejs.icelandic":"Icelandic","mejs.indonesian":"Indonesian","mejs.irish":"Irish","mejs.italian":"Italian","mejs.japanese":"Japanese","mejs.korean":"Korean","mejs.latvian":"Latvian","mejs.lithuanian":"Lithuanian","mejs.macedonian":"Macedonian","mejs.malay":"Malay","mejs.maltese":"Maltese","mejs.norwegian":"Norwegian","mejs.persian":"Persian","mejs.polish":"Polish","mejs.portuguese":"Portuguese","mejs.romanian":"Romanian","mejs.russian":"Russian","mejs.serbian":"Serbian","mejs.slovak":"Slovak","mejs.slovenian":"Slovenian","mejs.spanish":"Spanish","mejs.swahili":"Swahili","mejs.swedish":"Swedish","mejs.tagalog":"Tagalog","mejs.thai":"Thai","mejs.turkish":"Turkish","mejs.ukrainian":"Ukrainian","mejs.vietnamese":"Vietnamese","mejs.welsh":"Welsh","mejs.yiddish":"Yiddish"}}; /* ]]> */ </script> <script type="text/javascript" src="https://www.therobotreport.com/wp-includes/js/mediaelement/mediaelement-and-player.min.js?ver=4.2.17" id="mediaelement-core-js"></script> <script type="text/javascript" src="https://www.therobotreport.com/wp-includes/js/mediaelement/mediaelement-migrate.min.js?ver=6.7" id="mediaelement-migrate-js"></script> <script type="text/javascript" id="mediaelement-js-extra"> /* <![CDATA[ */ var _wpmejsSettings = {"pluginPath":"\/wp-includes\/js\/mediaelement\/","classPrefix":"mejs-","stretching":"responsive","audioShortcodeLibrary":"mediaelement","videoShortcodeLibrary":"mediaelement"}; /* ]]> */ </script> <script type="text/javascript" src="https://www.therobotreport.com/wp-includes/js/mediaelement/wp-mediaelement.min.js?ver=6.7" id="wp-mediaelement-js"></script> <script type="text/javascript" id="wp-api-request-js-extra"> /* <![CDATA[ */ var wpApiSettings = {"root":"https:\/\/www.therobotreport.com\/wp-json\/","nonce":"de47c30d6e","versionString":"wp\/v2\/"}; /* ]]> */ </script> <script type="text/javascript" src="https://www.therobotreport.com/wp-includes/js/api-request.min.js?ver=6.7" id="wp-api-request-js"></script> <script type="text/javascript" src="https://www.therobotreport.com/wp-includes/js/dist/dom-ready.min.js?ver=f77871ff7694fffea381" id="wp-dom-ready-js"></script> <script type="text/javascript" src="https://www.therobotreport.com/wp-includes/js/dist/hooks.min.js?ver=4d63a3d491d11ffd8ac6" id="wp-hooks-js"></script> <script type="text/javascript" src="https://www.therobotreport.com/wp-includes/js/dist/i18n.min.js?ver=5e580eb46a90c2b997e6" id="wp-i18n-js"></script> <script type="text/javascript" id="wp-i18n-js-after"> /* <![CDATA[ */ wp.i18n.setLocaleData( { 'text direction\u0004ltr': [ 'ltr' ] } ); /* ]]> */ </script> <script type="text/javascript" src="https://www.therobotreport.com/wp-includes/js/dist/a11y.min.js?ver=3156534cc54473497e14" id="wp-a11y-js"></script> <script type="text/javascript" src="https://www.therobotreport.com/wp-includes/js/clipboard.min.js?ver=2.0.11" id="clipboard-js"></script> <script type="text/javascript" id="media-views-js-extra"> /* <![CDATA[ */ var _wpMediaViewsL10n = {"mediaFrameDefaultTitle":"Media","url":"URL","addMedia":"Add media","search":"Search","select":"Select","cancel":"Cancel","update":"Update","replace":"Replace","remove":"Remove","back":"Back","selected":"%d selected","dragInfo":"Drag and drop to reorder media files.","uploadFilesTitle":"Upload files","uploadImagesTitle":"Upload images","mediaLibraryTitle":"Media Library","insertMediaTitle":"Add media","createNewGallery":"Create a new gallery","createNewPlaylist":"Create a new playlist","createNewVideoPlaylist":"Create a new video playlist","returnToLibrary":"\u2190 Go to library","allMediaItems":"All media items","allDates":"All dates","noItemsFound":"No items found.","insertIntoPost":"Insert into post","unattached":"Unattached","mine":"Mine","trash":"Trash","uploadedToThisPost":"Uploaded to this post","warnDelete":"You are about to permanently delete this item from your site.\nThis action cannot be undone.\n 'Cancel' to stop, 'OK' to delete.","warnBulkDelete":"You are about to permanently delete these items from your site.\nThis action cannot be undone.\n 'Cancel' to stop, 'OK' to delete.","warnBulkTrash":"You are about to trash these items.\n 'Cancel' to stop, 'OK' to delete.","bulkSelect":"Bulk select","trashSelected":"Move to Trash","restoreSelected":"Restore from Trash","deletePermanently":"Delete permanently","errorDeleting":"Error in deleting the attachment.","apply":"Apply","filterByDate":"Filter by date","filterByType":"Filter by type","searchLabel":"Search media","searchMediaLabel":"Search media","searchMediaPlaceholder":"Search media items...","mediaFound":"Number of media items found: %d","noMedia":"No media items found.","noMediaTryNewSearch":"No media items found. Try a different search.","attachmentDetails":"Attachment details","insertFromUrlTitle":"Insert from URL","setFeaturedImageTitle":"Featured image","setFeaturedImage":"Set featured image","createGalleryTitle":"Create gallery","editGalleryTitle":"Edit gallery","cancelGalleryTitle":"\u2190 Cancel gallery","insertGallery":"Insert gallery","updateGallery":"Update gallery","addToGallery":"Add to gallery","addToGalleryTitle":"Add to gallery","reverseOrder":"Reverse order","imageDetailsTitle":"Image details","imageReplaceTitle":"Replace image","imageDetailsCancel":"Cancel edit","editImage":"Edit image","chooseImage":"Choose image","selectAndCrop":"Select and crop","skipCropping":"Skip cropping","cropImage":"Crop image","cropYourImage":"Crop your image","cropping":"Cropping\u2026","suggestedDimensions":"Suggested image dimensions: %1$s by %2$s pixels.","cropError":"There has been an error cropping your image.","audioDetailsTitle":"Audio details","audioReplaceTitle":"Replace audio","audioAddSourceTitle":"Add audio source","audioDetailsCancel":"Cancel edit","videoDetailsTitle":"Video details","videoReplaceTitle":"Replace video","videoAddSourceTitle":"Add video source","videoDetailsCancel":"Cancel edit","videoSelectPosterImageTitle":"Select poster image","videoAddTrackTitle":"Add subtitles","playlistDragInfo":"Drag and drop to reorder tracks.","createPlaylistTitle":"Create audio playlist","editPlaylistTitle":"Edit audio playlist","cancelPlaylistTitle":"\u2190 Cancel audio playlist","insertPlaylist":"Insert audio playlist","updatePlaylist":"Update audio playlist","addToPlaylist":"Add to audio playlist","addToPlaylistTitle":"Add to Audio Playlist","videoPlaylistDragInfo":"Drag and drop to reorder videos.","createVideoPlaylistTitle":"Create video playlist","editVideoPlaylistTitle":"Edit video playlist","cancelVideoPlaylistTitle":"\u2190 Cancel video playlist","insertVideoPlaylist":"Insert video playlist","updateVideoPlaylist":"Update video playlist","addToVideoPlaylist":"Add to video playlist","addToVideoPlaylistTitle":"Add to video Playlist","filterAttachments":"Filter media","attachmentsList":"Media list","settings":{"tabs":[],"tabUrl":"https:\/\/www.therobotreport.com\/wp-admin\/media-upload.php?chromeless=1","mimeTypes":{"image":"Images","audio":"Audio","video":"Video","application\/msword,application\/vnd.openxmlformats-officedocument.wordprocessingml.document,application\/vnd.ms-word.document.macroEnabled.12,application\/vnd.ms-word.template.macroEnabled.12,application\/vnd.oasis.opendocument.text,application\/vnd.apple.pages,application\/pdf,application\/vnd.ms-xpsdocument,application\/oxps,application\/rtf,application\/wordperfect,application\/octet-stream":"Documents","application\/vnd.apple.numbers,application\/vnd.oasis.opendocument.spreadsheet,application\/vnd.ms-excel,application\/vnd.openxmlformats-officedocument.spreadsheetml.sheet,application\/vnd.ms-excel.sheet.macroEnabled.12,application\/vnd.ms-excel.sheet.binary.macroEnabled.12":"Spreadsheets","application\/x-gzip,application\/rar,application\/x-tar,application\/zip,application\/x-7z-compressed":"Archives"},"captions":true,"nonce":{"sendToEditor":"c91ec534bf","setAttachmentThumbnail":"8ac296d443"},"post":{"id":0},"defaultProps":{"link":"none","align":"","size":""},"attachmentCounts":{"audio":1,"video":1},"oEmbedProxyUrl":"https:\/\/www.therobotreport.com\/wp-json\/oembed\/1.0\/proxy","embedExts":["mp3","ogg","flac","m4a","wav","mp4","m4v","webm","ogv","flv"],"embedMimes":{"mp3":"audio\/mpeg","ogg":"audio\/ogg","flac":"audio\/flac","m4a":"audio\/mpeg","wav":"audio\/wav","mp4":"video\/mp4","m4v":"video\/mp4","webm":"video\/webm","ogv":"video\/ogg","flv":"video\/x-flv"},"contentWidth":740,"months":[{"year":"2024","month":"11","text":"November 2024"},{"year":"2024","month":"10","text":"October 2024"},{"year":"2024","month":"9","text":"September 2024"},{"year":"2024","month":"8","text":"August 2024"},{"year":"2024","month":"7","text":"July 2024"},{"year":"2024","month":"6","text":"June 2024"},{"year":"2024","month":"5","text":"May 2024"},{"year":"2024","month":"4","text":"April 2024"},{"year":"2024","month":"3","text":"March 2024"},{"year":"2024","month":"2","text":"February 2024"},{"year":"2024","month":"1","text":"January 2024"},{"year":"2023","month":"12","text":"December 2023"},{"year":"2023","month":"11","text":"November 2023"},{"year":"2023","month":"10","text":"October 2023"},{"year":"2023","month":"9","text":"September 2023"},{"year":"2023","month":"8","text":"August 2023"},{"year":"2023","month":"7","text":"July 2023"},{"year":"2023","month":"6","text":"June 2023"},{"year":"2023","month":"5","text":"May 2023"},{"year":"2023","month":"4","text":"April 2023"},{"year":"2023","month":"3","text":"March 2023"},{"year":"2023","month":"2","text":"February 2023"},{"year":"2023","month":"1","text":"January 2023"},{"year":"2022","month":"12","text":"December 2022"},{"year":"2022","month":"11","text":"November 2022"},{"year":"2022","month":"10","text":"October 2022"},{"year":"2022","month":"9","text":"September 2022"},{"year":"2022","month":"8","text":"August 2022"},{"year":"2022","month":"7","text":"July 2022"},{"year":"2022","month":"6","text":"June 2022"},{"year":"2022","month":"5","text":"May 2022"},{"year":"2022","month":"4","text":"April 2022"},{"year":"2022","month":"3","text":"March 2022"},{"year":"2022","month":"2","text":"February 2022"},{"year":"2022","month":"1","text":"January 2022"},{"year":"2021","month":"12","text":"December 2021"},{"year":"2021","month":"11","text":"November 2021"},{"year":"2021","month":"10","text":"October 2021"},{"year":"2021","month":"9","text":"September 2021"},{"year":"2021","month":"8","text":"August 2021"},{"year":"2021","month":"7","text":"July 2021"},{"year":"2021","month":"6","text":"June 2021"},{"year":"2021","month":"5","text":"May 2021"},{"year":"2021","month":"4","text":"April 2021"},{"year":"2021","month":"3","text":"March 2021"},{"year":"2021","month":"2","text":"February 2021"},{"year":"2021","month":"1","text":"January 2021"},{"year":"2020","month":"12","text":"December 2020"},{"year":"2020","month":"11","text":"November 2020"},{"year":"2020","month":"10","text":"October 2020"},{"year":"2020","month":"9","text":"September 2020"},{"year":"2020","month":"8","text":"August 2020"},{"year":"2020","month":"7","text":"July 2020"},{"year":"2020","month":"6","text":"June 2020"},{"year":"2020","month":"5","text":"May 2020"},{"year":"2020","month":"4","text":"April 2020"},{"year":"2020","month":"3","text":"March 2020"},{"year":"2020","month":"2","text":"February 2020"},{"year":"2020","month":"1","text":"January 2020"},{"year":"2019","month":"12","text":"December 2019"},{"year":"2019","month":"11","text":"November 2019"},{"year":"2019","month":"10","text":"October 2019"},{"year":"2019","month":"9","text":"September 2019"},{"year":"2019","month":"8","text":"August 2019"},{"year":"2019","month":"7","text":"July 2019"},{"year":"2019","month":"6","text":"June 2019"},{"year":"2019","month":"5","text":"May 2019"},{"year":"2019","month":"4","text":"April 2019"},{"year":"2019","month":"3","text":"March 2019"},{"year":"2019","month":"2","text":"February 2019"},{"year":"2019","month":"1","text":"January 2019"},{"year":"2018","month":"12","text":"December 2018"},{"year":"2018","month":"11","text":"November 2018"},{"year":"2018","month":"10","text":"October 2018"},{"year":"2018","month":"9","text":"September 2018"},{"year":"2018","month":"8","text":"August 2018"},{"year":"2018","month":"7","text":"July 2018"},{"year":"2018","month":"6","text":"June 2018"},{"year":"2018","month":"5","text":"May 2018"},{"year":"2018","month":"4","text":"April 2018"},{"year":"2018","month":"3","text":"March 2018"},{"year":"2018","month":"2","text":"February 2018"},{"year":"2018","month":"1","text":"January 2018"},{"year":"2017","month":"12","text":"December 2017"},{"year":"2017","month":"11","text":"November 2017"},{"year":"2017","month":"10","text":"October 2017"},{"year":"2017","month":"9","text":"September 2017"},{"year":"2017","month":"8","text":"August 2017"},{"year":"2017","month":"7","text":"July 2017"}],"mediaTrash":0,"infiniteScrolling":0}}; /* ]]> */ </script> <script type="text/javascript" src="https://www.therobotreport.com/wp-includes/js/media-views.min.js?ver=6.7" id="media-views-js"></script> <script type="text/javascript" src="https://www.therobotreport.com/wp-includes/js/media-editor.min.js?ver=6.7" id="media-editor-js"></script> <script type="text/javascript" src="https://www.therobotreport.com/wp-includes/js/media-audiovideo.min.js?ver=6.7" id="media-audiovideo-js"></script> <script type="text/javascript" src="https://www.therobotreport.com/wp-includes/js/comment-reply.min.js?ver=6.7" id="comment-reply-js" async="async" data-wp-strategy="async"></script> <script type="text/javascript" src="https://www.therobotreport.com/wp-content/themes/ThemeWTWHv2/assets/js/global-min.js?ver=1629918754" id="ea-global-js"></script> <!--Plugin WP Missed Schedule Active - Secured with Genuine Authenticity KeyTag--> <!-- This site is patched against a big problem not solved since WordPress 2.5 --> <script>"undefined"!=typeof jQuery&&jQuery(document).ready(function(){"objectFit"in document.documentElement.style==!1&&(jQuery(".cat-post-item figure").removeClass("cat-post-crop"),jQuery(".cat-post-item figure").addClass("cat-post-crop-not-supported")),(document.documentMode||/Edge/.test(navigator.userAgent))&&(jQuery(".cat-post-item figure img").height("+=1"),window.setTimeout(function(){jQuery(".cat-post-item figure img").height("-=1")},0))});</script> <script type="text/javascript"> if (typeof jQuery !== 'undefined') { var cat_posts_namespace = window.cat_posts_namespace || {}; cat_posts_namespace.layout_wrap_text = cat_posts_namespace.layout_wrap_text || {}; cat_posts_namespace.layout_img_size = cat_posts_namespace.layout_img_size || {}; cat_posts_namespace.layout_wrap_text = { preWrap : function (widget) { jQuery(widget).find('.cat-post-item').each(function(){ var _that = jQuery(this); _that.find('p.cpwp-excerpt-text').addClass('cpwp-wrap-text'); _that.find('p.cpwp-excerpt-text').closest('div').wrap('<div class="cpwp-wrap-text-stage"></div>'); }); return; }, add : function(_this){ var _that = jQuery(_this); if (_that.find('p.cpwp-excerpt-text').height() < _that.find('.cat-post-thumbnail').height()) { _that.find('p.cpwp-excerpt-text').closest('.cpwp-wrap-text-stage').removeClass( "cpwp-wrap-text" ); _that.find('p.cpwp-excerpt-text').addClass( "cpwp-wrap-text" ); }else{ _that.find('p.cpwp-excerpt-text').removeClass( "cpwp-wrap-text" ); _that.find('p.cpwp-excerpt-text').closest('.cpwp-wrap-text-stage').addClass( "cpwp-wrap-text" ); } return; }, handleLazyLoading : function(_this) { var width = jQuery(_this).find('img').width(); if( 0 !== width ){ cat_posts_namespace.layout_wrap_text.add(_this); } else { jQuery(_this).find('img').one("load", function(){ cat_posts_namespace.layout_wrap_text.add(_this); }); } return; }, setClass : function (widget) { // var _widget = jQuery(widget); jQuery(widget).find('.cat-post-item').each(function(){ cat_posts_namespace.layout_wrap_text.handleLazyLoading(this); }); return; } } cat_posts_namespace.layout_img_size = { replace : function(_this){ var _that = jQuery(_this), resp_w = _that.width(), resp_h = _that.height(), orig_w = _that.data('cat-posts-width'), orig_h = _that.data('cat-posts-height'); if( resp_w < orig_w ){ _that.height( resp_w * orig_h / orig_w ); } else { _that.height( '' ); } return; }, handleLazyLoading : function(_this) { var width = jQuery(_this).width(); if( 0 !== width ){ cat_posts_namespace.layout_img_size.replace(_this); } else { jQuery(_this).one("load", function(){ cat_posts_namespace.layout_img_size.replace(_this); }); } return; }, setHeight : function (widget) { jQuery(widget).find('.cat-post-item img').each(function(){ cat_posts_namespace.layout_img_size.handleLazyLoading(this); }); return; } } let widget = jQuery('#category-posts-3-internal'); jQuery( document ).ready(function () { cat_posts_namespace.layout_wrap_text.setClass(widget); cat_posts_namespace.layout_img_size.setHeight(widget); }); jQuery(window).on('load resize', function() { cat_posts_namespace.layout_wrap_text.setClass(widget); cat_posts_namespace.layout_img_size.setHeight(widget); }); // low-end mobile cat_posts_namespace.layout_wrap_text.preWrap(widget); cat_posts_namespace.layout_wrap_text.setClass(widget); cat_posts_namespace.layout_img_size.setHeight(widget); } </script> </body></html>