Menu Zavřít

Rekordní rok pro mikrovlnného cestáře. Český Futtec opravil téměř osm tisíc výtluků a úspěšně expandoval do USA

28. 5. 2025
Doba čtení: 3 minuty
Autor: Futtec
  • Společnost Futtec, která vyvinula unikátní stroj pro opravy silničních výtluků, loni dosáhla nejvyššího obratu ve své historii
  • Její mikrovlnný cestář série FT-3 opravil na českých silnicích a dálnicích přibližně 7 700 výtluků, což je meziročně o 300 procent více
  • Firma zároveň expandovala do Spojených států amerických, kde založila dceřinou společnost Futtec North America

Výtluky na silnicích jsou poměrně častým problémem, který trápí řidiče snad po celém světě. A i když ta nejhorší místa se správci komunikací obvykle snaží opravit, kvalita a životnost takových záplat často za moc nestojí. Už čtyři roky se ale tuto situaci pokouší změnit česká společnost Futtec, která vyvinula technologii, jež má opravy silnic výrazně usnadnit.

Základem jejího unikátního řešení je stroj, který dokáže s pomocí mikrovlnné technologie důkladně zahřát asfaltové směsi ve vozovce. Díky tomu nedochází k degradaci samotného asfaltu, takže dané místo zůstane v dobrém stavu delší dobu než při využití běžných metod. Používaný způsob zároveň umožňuje celoroční opravy, tedy včetně zimního období.

Zařízení si lze i vypůjčit

Futtec aktuálně vyrábí třetí generaci svého „mikrovlnného cestáře“ FT-3, která už zaujala mnoho zákazníků po celém světě. V Česku k nim patří většina významných správců komunikací, jako je například Ředitelství silnic a dálnic, správy a údržby silnic jednotlivých krajů nebo třeba Technická správa komunikací hlavního města Prahy.

Outstream Placeholder

I díky zájmu zmíněných firem loni Futtec dosáhl dosud nejvyššího obratu ve své historii, který byl přibližně osmkrát vyšší než v roce 2023. Společnost zároveň v průběhu celého uplynulého roku zacelila přibližně 7 700 výtluků na všech typech českých pozemních komunikací, což je meziročně zhruba o 300 procent více.

Důležitým krokem pro rozvoj tuzemské firmy bylo také spuštění nového řešení pro soukromé společnosti a zejména municipality, které si nově mohou na pobočkách sítě půjčoven strojů a zařízení DEK koupit či zapůjčit samostatnou mobilní sestavu s mikrovlnnou pecí FF-9. To by mělo výrazně pomoci s opravou silně poškozených silnic II. a III. třídy.

„Minulý rok byl pro nás opravdu přelomový. Za největší úspěch považuji, že se nám podařilo v praxi prokázat, že mikrovlnná metoda oprav výtluků a trhlin je na trhu jediná, která je opravdu kvalitní, rychlá a šetrná k asfaltové směsi i k životnímu prostředí. A ve svém důsledku je také ekonomicky efektivní. Dokáže totiž navrátit zacelenému místu parametry původní vozovky, což navíc významně přispívá k větší plynulosti a bezpečnosti provozu,“ řekl zakladatel a majitel Futtecu Jiří Rušikvas.

Příprava na sériovou výrobu

Kromě domácího trhu se Futtec loni rozhodl více zaměřit i na zahraničí. Obchodní zástupci firmy navázali několik důležitých kontaktů v mnoha zemích po celém světě, mezi nimiž bylo třeba Německo, Rakousko, Černá Hora nebo Spojené arabské emiráty. Kromě toho se ale Rušivkas a spol. vydali zkusit štěstí za velkou louži, tedy do USA a Kanady, kde dokonce založili vlastní dceřinou firmu.

Lidi ze západní Evropy do Prahy kvůli práci stále jen tak nedostanete, všimli si u Adama. Svůj francouzský byznys proto řídí z Madridu
Přečtěte si také:

Lidi ze západní Evropy do Prahy kvůli práci stále jen tak nedostanete, všimli si u Adama. Svůj francouzský byznys proto řídí z Madridu

„Symbolickým završením loňských úspěchů na poli zahraniční expanze se stalo založení Futtec North America, který již brzy zahájí první testovací opravy pomocí mikrovlnných cestářů série FT3 na tamějších komunikacích. Součástí našich dlouhodobějších plánů je analýza dalších obchodních příležitostí na zahraničních trzích a dosažení toho, aby se oprava mikrovlnnou technologií stala synonymem pro preventivní údržbu asfaltových povrchů kdekoli na světě,“ doplnil komerční ředitel české společnosti Ondřej Rušikvas.

CIF25

Ačkoliv loňský rok byl pro Futtec v mnoha ohledech rekordní, firma rozhodně nechce zahálet ani letos. Aktuálně pracuje třeba na vývoji komplexního ekosystému oprav s umělou inteligencí, který má přinést chytrý monitoring výtluků a trhlin, včasnou detekci míst, kde hrozí jejich nebezpečí, a lepší preventivní údržbu asfaltových vozovek.

Když pole hlídá dron a umělá inteligence. Česká firma Agroscan pomáhá zemědělcům zefektivnit jejich hospodaření
Přečtěte si také:

Když pole hlídá dron a umělá inteligence. Česká firma Agroscan pomáhá zemědělcům zefektivnit jejich hospodaření

„V roce 2025 se chceme věnovat především třem oblastem. Tou první je vývoj, výzkum a intenzivní práce v terénu, což nám pomůže získávat další zkušenosti, doladit technologické detaily a připravit naše stroje pro sériovou výrobu. Dále plánujeme ještě více posílit svoji spolupráci se všemi typy správců komunikací – včetně municipalit, kterým bychom rádi poskytli komplexní ekosystém mikrovlnné údržby včetně naší kompletní podpory. A za velmi důležité považujeme také pokračování naší expanze do zahraničí,“ uzavřel Jiří Rušikvas.

  • Našli jste v článku chybu?
'; document.getElementById('preroll-iframe').onload = function () { setupIframe(); } prerollContainer = document.getElementsByClassName('preroll-container-iframe')[0]; } function setupIframe() { prerollDocument = document.getElementById('preroll-iframe').contentWindow.document; let el = prerollDocument.createElement('style'); prerollDocument.head.appendChild(el); el.innerText = "#adContainer>div:nth-of-type(1),#adContainer>div:nth-of-type(1) > iframe { width: 99% !important;height: 99% !important;max-width: 100%;}#videoContent,body{ width:100vw;height:100vh}body{ font-family:'Helvetica Neue',Arial,sans-serif}#videoContent{ overflow:hidden;background:#000}#adMuteBtn{ width:35px;height:35px;border:0;background:0 0;display:none;position:absolute;fill:rgba(230,230,230,1);bottom:20px;right:25px}"; videoContent = prerollDocument.getElementById('contentElement'); videoContent.style.display = 'none'; videoContent.volume = 1; videoContent.muted = false; const playPromise = videoContent.play(); if (playPromise !== undefined) { playPromise.then(function () { console.log('PREROLL sound allowed'); // setUpIMA(true); videoContent.volume = 1; videoContent.muted = false; setUpIMA(); }).catch(function () { console.log('PREROLL sound forbidden'); videoContent.volume = 0; videoContent.muted = true; setUpIMA(); }); } } function setupDimensions() { prerollWidth = Math.min(iinfoPrerollPosition.offsetWidth, 480); prerollHeight = Math.min(iinfoPrerollPosition.offsetHeight, 320); } function setUpIMA() { google.ima.settings.setDisableCustomPlaybackForIOS10Plus(true); google.ima.settings.setLocale('cs'); google.ima.settings.setNumRedirects(10); // Create the ad display container. createAdDisplayContainer(); // Create ads loader. adsLoader = new google.ima.AdsLoader(adDisplayContainer); // Listen and respond to ads loaded and error events. adsLoader.addEventListener( google.ima.AdsManagerLoadedEvent.Type.ADS_MANAGER_LOADED, onAdsManagerLoaded, false); adsLoader.addEventListener( google.ima.AdErrorEvent.Type.AD_ERROR, onAdError, false); // An event listener to tell the SDK that our content video // is completed so the SDK can play any post-roll ads. const contentEndedListener = function () { adsLoader.contentComplete(); }; videoContent.onended = contentEndedListener; // Request video ads. const adsRequest = new google.ima.AdsRequest(); adsRequest.adTagUrl = iinfoVastUrls[iinfoVastUrlIndex]; console.log('Preroll advert: ' + iinfoVastUrls[iinfoVastUrlIndex]); videoContent.muted = false; videoContent.volume = 1; // Specify the linear and nonlinear slot sizes. This helps the SDK to // select the correct creative if multiple are returned. // adsRequest.linearAdSlotWidth = prerollWidth; // adsRequest.linearAdSlotHeight = prerollHeight; adsRequest.nonLinearAdSlotWidth = 0; adsRequest.nonLinearAdSlotHeight = 0; adsLoader.requestAds(adsRequest); } function createAdDisplayContainer() { // We assume the adContainer is the DOM id of the element that will house // the ads. prerollDocument.getElementById('videoContent').style.display = 'none'; adDisplayContainer = new google.ima.AdDisplayContainer( prerollDocument.getElementById('adContainer'), videoContent); } function unmutePrerollAdvert() { adVolume = !adVolume; if (adVolume) { adsManager.setVolume(0.3); prerollDocument.getElementById('adMuteBtn').innerHTML = ''; } else { adsManager.setVolume(0); prerollDocument.getElementById('adMuteBtn').innerHTML = ''; } } function onAdsManagerLoaded(adsManagerLoadedEvent) { // Get the ads manager. const adsRenderingSettings = new google.ima.AdsRenderingSettings(); adsRenderingSettings.restoreCustomPlaybackStateOnAdBreakComplete = true; adsRenderingSettings.loadVideoTimeout = 12000; // videoContent should be set to the content video element. adsManager = adsManagerLoadedEvent.getAdsManager(videoContent, adsRenderingSettings); // Add listeners to the required events. adsManager.addEventListener(google.ima.AdErrorEvent.Type.AD_ERROR, onAdError); adsManager.addEventListener( google.ima.AdEvent.Type.CONTENT_PAUSE_REQUESTED, onContentPauseRequested); adsManager.addEventListener( google.ima.AdEvent.Type.CONTENT_RESUME_REQUESTED, onContentResumeRequested); adsManager.addEventListener( google.ima.AdEvent.Type.ALL_ADS_COMPLETED, onAdEvent); // Listen to any additional events, if necessary. adsManager.addEventListener(google.ima.AdEvent.Type.LOADED, onAdEvent); adsManager.addEventListener(google.ima.AdEvent.Type.STARTED, onAdEvent); adsManager.addEventListener(google.ima.AdEvent.Type.COMPLETE, onAdEvent); playAds(); } function playAds() { // Initialize the container. Must be done through a user action on mobile // devices. videoContent.load(); adDisplayContainer.initialize(); // setupDimensions(); try { // Initialize the ads manager. Ad rules playlist will start at this time. adsManager.init(1920, 1080, google.ima.ViewMode.NORMAL); // Call play to start showing the ad. Single video and overlay ads will // start at this time; the call will be ignored for ad rules. adsManager.start(); // window.addEventListener('resize', function (event) { // if (adsManager) { // setupDimensions(); // adsManager.resize(prerollWidth, prerollHeight, google.ima.ViewMode.NORMAL); // } // }); } catch (adError) { // An error may be thrown if there was a problem with the VAST response. // videoContent.play(); } } function onAdEvent(adEvent) { const ad = adEvent.getAd(); console.log('Preroll event: ' + adEvent.type); switch (adEvent.type) { case google.ima.AdEvent.Type.LOADED: if (!ad.isLinear()) { videoContent.play(); } prerollDocument.getElementById('adContainer').style.width = '100%'; prerollDocument.getElementById('adContainer').style.maxWidth = '640px'; prerollDocument.getElementById('adContainer').style.height = '360px'; break; case google.ima.AdEvent.Type.STARTED: window.addEventListener('scroll', onActiveView); if (ad.isLinear()) { intervalTimer = setInterval( function () { // Example: const remainingTime = adsManager.getRemainingTime(); // adsManager.pause(); }, 300); // every 300ms } prerollDocument.getElementById('adMuteBtn').style.display = 'block'; break; case google.ima.AdEvent.Type.ALL_ADS_COMPLETED: if (ad.isLinear()) { clearInterval(intervalTimer); } if (prerollLastError === 303) { playYtVideo(); } break; case google.ima.AdEvent.Type.COMPLETE: if (ad.isLinear()) { clearInterval(intervalTimer); } playYtVideo(); break; } } function onAdError(adErrorEvent) { console.log(adErrorEvent.getError()); prerollLastError = adErrorEvent.getError().getErrorCode(); if (!loadNext()) { playYtVideo(); } } function loadNext() { iinfoVastUrlIndex++; if (iinfoVastUrlIndex < iinfoVastUrls.length) { iinfoPrerollPosition.remove(); playPrerollAd(); } else { return false; } adVolume = 1; return true; } function onContentPauseRequested() { videoContent.pause(); } function onContentResumeRequested() { videoContent.play(); } function onActiveView() { if (prerollContainer) { const containerOffset = prerollContainer.getBoundingClientRect(); const windowHeight = window.innerHeight; if (containerOffset.top < windowHeight/1 && containerOffset.bottom > 0.0) { if (prerollPaused) { adsManager.resume(); prerollPaused = false; } return true; } else { if (!prerollPaused) { adsManager.pause(); prerollPaused = true; } } } return false; } function playYtVideo() { iinfoPrerollPosition.remove(); youtubeIframe.style.display = 'block'; youtubeIframe.src += '&autoplay=1&mute=1'; } }