Notre Dame professor develops swarm robots and hopes to inspire other creators – ABC 57 News

Posted: November 1, 2021 at 7:04 am

'); if(!WVM.IS_STREAMING){ $videoEl.append('' + '' + ''); } setTimeout(function(){ $('.mute-overlay').on('touchstart click', function(e){ if(e.handled === false) return; e.stopPropagation(); e.preventDefault(); e.handled = true; player.muted(false); //console.log("volumee " + WVM.activePlayer.volume()); $(this).hide(); $(this).css('display', 'none'); var currentTime = player.currentTime(); if(currentTime 0){ if(deviceName == 'desktop'){ WVM.VIDEO_TOP = $('#media-container-' + videoId).offset().top; }else{ WVM.VIDEO_TOP = $('#media-container-' + videoId).offset().top - $('.next-dropdown-accordion').height(); } if(deviceName == 'desktop'){ WVM.VIDEO_HEIGHT = $('#html5-video-' + videoId).outerHeight(); }else{ WVM.VIDEO_HEIGHT = $('#html5-video-' + videoId).outerHeight(); } WVM.CONTAINER_HEIGHT = $('#media-container-' + videoId).height(); //console.log("container height: " + WVM.CONTAINER_HEIGHT); $(window).on( "resize", function() { if(deviceName == 'desktop'){ WVM.VIDEO_TOP = $('#media-container-' + videoId).offset().top; }else{ WVM.VIDEO_TOP = $('#media-container-' + videoId).offset().top - $('.next-dropdown-accordion').height(); } if(deviceName == 'desktop'){ WVM.VIDEO_HEIGHT = $('#html5-video-' + videoId).outerHeight(); }else{ WVM.VIDEO_HEIGHT = $('#html5-video-' + videoId).outerHeight(); } WVM.CONTAINER_HEIGHT = $('#media-container-' + videoId).height(); console.log("container height: " + WVM.CONTAINER_HEIGHT); }); //console.log("VIDEOTOP: " + WVM.VIDEO_TOP); //console.log("VIDEOHEIGHT: " + WVM.VIDEO_HEIGHT); $(window).on( "scroll", function() { if(!WVM.IS_FLOATING){ if(deviceName == 'desktop'){ WVM.CONTAINER_HEIGHT = $('#media-container-' + videoId).height(); }else{ WVM.CONTAINER_HEIGHT = $('#media-container-' + videoId + " .hlsvideo-wrapper").height() + $('#media-container-' + videoId + " .now-playing-container").height(); } } //var top = $('#media-container-' + videoId).offset().top; var offset = WVM.VIDEO_TOP + (WVM.VIDEO_HEIGHT / 2); var offsetBack = WVM.VIDEO_TOP; var changed = false; //console.log("VIDEOTOP: " + WVM.VIDEO_TOP); //console.log("VIDEOHEIGHT: " + WVM.VIDEO_HEIGHT); //console.log("scrolltop " + $(window).scrollTop()); //only float if playing var isPlaying = WVM['player_state' + videoId]['IS_PLAYING'] || WVM['player_state' + videoId]['AD_IS_PLAYING']; if(isPlaying){ $('.vjs-loading-spinner').hide(); } var offsetFloatAd = 99999999; if(deviceName == 'desktop' && $('#float_anchor').length > 0){ offsetFloatAd = $('#float_anchor').offset().top - WVM.VIDEO_HEIGHT; //console.log("float anchor offset top " + offsetFloatAd); } if($(window).scrollTop() > offset && isPlaying && !WVM['player_state' + videoId]['CANCEL_FLOATING']){ $('#media-placeholder-' + videoId).height(WVM.CONTAINER_HEIGHT); $('#media-placeholder-' + videoId).css('display', 'block'); if(!WVM.IS_FLOATING){ changed = true; } WVM.IS_FLOATING = true; $('#media-container-' + videoId).addClass('floating-video'); var sWidth = window.innerWidth || document.documentElement.clientWidth; var sHeight = window.innerHeight || document.documentElement.clientHeight; if(sWidth > 900 && WADS.IS_STICKING){ $('#media-container-' + videoId).addClass('desktop-ad-is-sticky'); } else if(WADS.IS_STICKING){ if(!TOP_AD_VIEWED){ $('#media-container-' + videoId).addClass('mobile-ad-is-sticky'); }else{ $('#media-container-' + videoId).addClass('mobile-ad-is-sticky-noad'); } } else if(!WADS.IS_STICKING){ if(!TOP_AD_VIEWED){ $('#media-container-' + videoId).removeClass('desktop-ad-is-sticky'); }else{ $('#media-container-' + videoId).addClass('desktop-ad-is-sticky-noad'); } } //set right var sWidth = window.innerWidth || document.documentElement.clientWidth; var sHeight = window.innerHeight || document.documentElement.clientHeight; if(deviceName == 'desktop' || sWidth > 900){ var leftPos2 = $('aside').get(0).getBoundingClientRect().left; var leftPos = $('aside').offset().left ; $('#media-container-' + videoId).css('left', leftPos + "px"); var newWidth = Math.floor(sWidth / 3.5); $('#media-container-' + videoId).css('width', newWidth + "px"); } else{ $('#media-container-' + videoId).css('width', "100% !important"); $('#media-container-' + videoId + ' .now-playing-container').css('display', 'block'); $('#media-container-' + videoId + ' .next-dropdown-accordion').css('display', 'block'); } //floating-video $('#media-container-' + videoId + " " + '.page-carousel-wrapper').hide(); setTimeout(function(){ var hWrapper = $('.floating-video .hlsvideo-wrapper').height(); var npWidth = $('.floating-video .now-playing-container').height(); var ndWidth = $('.floating-video .next-dropdown-header').height() + 20; var scrollerHeight = sHeight - (hWrapper + npWidth + ndWidth); scrollerHeight = 180; //scrollerHeight = parseInt(scrollerHeight * 0.5); if(WVM.device_name == 'desktop'){ $('#media-container-' + videoId + " " + " .mobile-list-videos").height(scrollerHeight); } }, 100); }else if($(window).scrollTop() 0){ var container = document.querySelector('#page-carousel-' + fullVideoId); imagesLoaded( container, function() { var screenWidth = window.innerWidth || document.documentElement.clientWidth; if(screenWidth > 850){ WVM.IS_DESKTOP = true; $('#page-carousel-' + fullVideoId + ' .page-carousel-lg-slides').css('display', 'block'); WVM['player_settings' + fullVideoId].slider = $('#page-carousel-' + fullVideoId).bxSlider({ maxSlides: 4, minSlides: 4, slideWidth: 305, infiniteLoop: false, hideControlOnEnd: true, useCSS: true, pager: false, slideMargin: 15, moveSlides: 1, nextText: '', prevText: '' }); }else{ WVM.IS_DESKTOP = false; $('.page-carousel-wrapper').css('display', 'block'); } }); } }; WVM.setupToggleButton = function(fullVideoId, player){ if($('.nextplay-switch-' + fullVideoId).length > 0){ new DG.OnOffSwitchAuto({ cls:'.nextplay-switch-' + fullVideoId, height: 24, trackColorOn:'#F9F9F9', trackColorOff:'#222', textColorOn: '#222', textColorOff: '#222', textOn:'On', textOff:'Off', listener:function(name, checked){ var theVal = 1; if(!checked){ theVal = 0; } $.ajax({ url: '/ajax/update_autoplay_video/', data: { autoplay_on: theVal }, type: 'POST', dataType: 'json', success: function(data) { WVM['player_settings' + fullVideoId]['autoplay'] = checked; }, error : function(){ console.log("Error loading video"); } }); } }); } }; WVM.setupAccordionButton = function(fullVideoId){ var deviceName = 'desktop'; $('#next-dropdown-accordion-button-' + fullVideoId).on('click', function(){ if($(this).find('i').hasClass('fa-chevron-up')){ //hide $(this).find('i').removeClass('fa-chevron-up'); $(this).find('i').addClass('fa-chevron-down'); if(deviceName == "desktop" && !$('#media-container-' + fullVideoId).hasClass('floating-video')){ $('#media-container-' + fullVideoId + " " + '.page-carousel-wrapper').slideUp(); $('#media-container-' + fullVideoId + " " + '.mobile-list-wrapper').hide(); }else{ $('#media-container-' + fullVideoId + " " + '.mobile-list-wrapper').slideUp(); $('#media-container-' + fullVideoId + " " + '.page-carousel-wrapper').hide(); } var currVideoId = WVM['player_state' + fullVideoId]['VIDEO_ID']; var nextVideoId = WVM.getNextPlaylistIndex(currVideoId); //playerId, mediaId, fieldName var myTitle = WVM.getPlaylistData(fullVideoId, nextVideoId, 'noprefixtitle'); //alert("Getting title " + myTitle); $('#video-slider-nexttitle' + fullVideoId).css('display', 'inline'); $('#video-slider-nexttitle' + fullVideoId).html(myTitle); }else{ //expand $(this).find('i').addClass('fa-chevron-up'); $(this).find('i').removeClass('fa-chevron-down'); $('#media-container-' + fullVideoId + " " + '.mobile-list-wrapper').css('display', 'block'); if(deviceName == "desktop" && !$('#media-container-' + fullVideoId).hasClass('floating-video')){ $('#media-container-' + fullVideoId + " " + '.page-carousel-wrapper').css('display', 'block'); $('#media-container-' + fullVideoId + " " + '.page-carousel-wrapper').slideDown(); $('#media-container-' + fullVideoId + " " + '.mobile-list-wrapper').hide(); if(!WVM.player_state169747['CAROUSEL_INIT']){ WVM.setupCarousel(fullVideoId); } }else{ $('#media-container-' + fullVideoId + " " + '.mobile-list-wrapper').slideDown(); $('#media-container-' + fullVideoId + " " + '.page-carousel-wrapper').hide(); if(!$('#media-container-' + fullVideoId).hasClass('floating-video')){ if(!WVM.player_state169747['CAROUSEL_INIT']){ WVM.setupCarousel(fullVideoId); } } } $('#video-slider-nexttitle' + fullVideoId).css('display', 'none'); } }); var currVideoId = WVM['player_state' + fullVideoId]['VIDEO_ID']; //console.log("current Video " + currVideoId); var nextVideoId = WVM.getNextPlaylistIndex(currVideoId); var myTitle = WVM.getPlaylistData(fullVideoId, nextVideoId, 'noprefixtitle'); //console.log("setting title " + myTitle); $('#video-slider-nexttitle' + fullVideoId).css('display', 'inline'); $('#video-slider-nexttitle' + fullVideoId).html(myTitle); }; WVM.sendbeacon = function(action, nonInteraction, value, eventLabel) { var eventCategory = 'Video'; if (window.ga) { //console.log("sending action: " + action + " val: " + value + " label " + eventLabel); ga('send', 'event', { 'eventCategory': eventCategory, 'eventAction': action, 'eventLabel': eventLabel, 'eventValue': value, 'nonInteraction': nonInteraction }); } }; WVM.getNextPlaylistIndex = function(mediaId, returnArrayIndex){ var currId = null; if(mediaId == null){ return null; } for(var x =0; x 20){ if(fullDuration > 1 && ((fullDuration - fullCurrent) > 1) && !$('.vjs-loading-spinner').hasClass('badspinner')){ console.log("hiding spinner"); $('.vjs-loading-spinner').addClass('badspinner'); } } var duration_time = Math.floor(this.duration()); //this is a hack because the end video event is not firing... var current_time = Math.floor(this.currentTime()); if ( current_time > 0 && ( fullCurrent >= (fullDuration - 10) )){ var currId = playerState.VIDEO_ID; var newMediaId = WVM.getNextPlaylistIndex(currId); //if(playerSettings.autoplay_next && newMediaId){ if(newMediaId){ if('desktop' == "iphone" && playerState.AD_ERROR){ console.log("skipped timeupdate end"); }else{ WVM.load_video(newMediaId, true, playerState.ORIGINAL_ID); } } } if(!playerState.START_SENT){ WVM.sendbeacon('start', true, playerState.VIDEO_ID, playerState.VIDEO_TITLE); playerState.START_SENT = true; } var currentTime, duration, percent, percentPlayed, _i; currentTime = Math.round(this.currentTime()); duration = Math.round(this.duration()); percentPlayed = Math.round(currentTime / duration * 100); for (percent = _i = 0; _i = percent && __indexOf.call(playerState['PERCENTS_TRACKED'], percent) 0) { playerState['PERCENTS_TRACKED'].push(percent); } } } }); //player.off('ended'); player.on('ended', function(){ console.log("ended"); playerState.IS_PLAYING = false; WVM.sendbeacon("complete", true, playerState.VIDEO_ID, playerState.VIDEO_TITLE); var currId = playerState.VIDEO_ID; var newMediaId = WVM.getNextPlaylistIndex(currId); //if(playerSettings.autoplay_next && newMediaId){ if(newMediaId){ WVM.load_video(newMediaId, true, playerState.ORIGINAL_ID); }else{ console.log("Playlist complete (no more videos)"); } }); //player.off('adserror'); player.on('adserror', function(e){ //$('#ima-ad-container').remove(); WVM.lastAdRequest = new Date().getTime() / 1000; console.log(e); console.log("ads error"); var errMessage = e['data']['AdError']['l']; playerState.AD_IS_PLAYING = false; playerState.IS_PLAYING = false; // && errMessage == 'The VAST response document is empty.' if(!playerState.AD_ERROR){ var dTime = new Date().getTime(); WVM.firstPrerollTagUrl = WVM.getFirstPrerollUrl(); console.log("calling backup ad tag url: " + WVM.firstPrerollTagUrl); WVM.activePlayer.ima.changeAdTag(WVM.firstPrerollTagUrl + "?" + dTime); WVM.activePlayer.ima.requestAds(); //WVM.activePlayer.src({ // src: masterSrc, // type: 'video/mp4' //}); //WVM.firstPrerollTagUrl = ""; } playerState.AD_ERROR = true; }); //player.off('error'); player.on('error', function(event) { if (player.error().code === 4) { player.error(null); // clear out the old error player.options().sources.shift(); // drop the highest precedence source console.log("now doing src"); console.log(player.options().sources[0]); player.src(player.options().sources[0]); // retry return; } }); //player.off('volumechange'); player.on('volumechange', function(event) { console.log(event); var theHeight = $('#media-container-' + playerState.ORIGINAL_ID + ' .vjs-volume-level').css('height'); var cssVolume = 0; if(theHeight){ cssVolume = parseInt(theHeight.replace('%', '')); } var theVolume = player.volume(); if(theVolume > 0.0 || cssVolume > 0){ $('#media-container-' + playerState.ORIGINAL_ID + ' .mute-overlay').css('display', 'none'); }else{ $('#media-container-' + playerState.ORIGINAL_ID + ' .mute-overlay').css('display', 'block'); } }); WVM.reinitRawEvents(playerState.ORIGINAL_ID); setInterval(function(){ WVM.reinitRawEvents(playerState.ORIGINAL_ID); }, 2000); } if(!WVM.rawCompleteEvent){ WVM.rawCompleteEvent = function(e){ var playerState = WVM['player_state169747']; console.log("firing raw event due to all other events failing"); var currId = playerState.VIDEO_ID; var newMediaId = WVM.getNextPlaylistIndex(currId); //if(playerSettings.autoplay_next && newMediaId){ if(newMediaId){ WVM.load_video(newMediaId, true, playerState.ORIGINAL_ID); } }; } if(!WVM.rawTimeupdateEvent){ WVM.rawTimeupdateEvent = function(e){ var playerState = WVM['player_state169747']; var rawVideoElem = document.getElementById('html5-video-' + playerState['ORIGINAL_ID'] + '_html5_api'); var fullCurrent = rawVideoElem.currentTime * 1000; var fullDuration = rawVideoElem.duration * 1000; var current_time = Math.floor(rawVideoElem.currentTime); console.log("raw timeupdate: " + fullCurrent + " out of " + fullDuration); if ( current_time > 0 && ( fullCurrent >= (fullDuration - 50) )){ var currId = playerState.VIDEO_ID; var newMediaId = WVM.getNextPlaylistIndex(currId); if(newMediaId){ console.log("loading new video from rawtimeupdate"); WVM.load_video(newMediaId, true, playerState.ORIGINAL_ID); } } if(!$('.vjs-loading-spinner').hasClass('badspinner')){ $('.vjs-loading-spinner').addClass('badspinner') } }; } WVM.reinitRawEvents = function(playerId){ var playerState = WVM['player_state' + playerId]; var rawVideoElem = document.getElementById('html5-video-' + WVM['player_state' + playerId]['ORIGINAL_ID'] + '_html5_api'); //COMPLETE EENT if( WVM['player_state' + playerId].COMPLETE_EVENT){ rawVideoElem.removeEventListener('ended', WVM.rawCompleteEvent, false); } rawVideoElem.addEventListener('ended', WVM.rawCompleteEvent, false); //TIME UPDATE EVENT if( WVM['player_state' + playerId].TIMEUPDATE_EVENT){ rawVideoElem.removeEventListener('ended', WVM.rawTimeupdateEvent, false); } rawVideoElem.addEventListener('ended', WVM.rawTimeupdateEvent, false); WVM['player_state' + playerId].COMPLETE_EVENT = true; WVM['player_state' + playerId].TIMEUPDATE_EVENT = true; };

SOUTH BEND, Ind. -- Notre Dame Professor Yasemin Ozkan-Aydin has spent fifteen years working in robotics, though despite the mechanical inclination, she takes much of her inspiration from nature- like how centipedes travel and how ants work together to complete tasks, using their legs.

But robots with legs have their own unique challenges.

According to Prof. Ozkan-Aydin As a product, there are lots of wheeled robots, and other stuff. But legged robots are not commercially available.

So, she opted to create her own, using convenient, modern technologies like 3-D printing and low-cost materials to create her own "swarm robots."

The idea here is to use the legged robots like a swarm.

These four-legged robots, which only cost about $200 in raw materials to produce, are able to navigate uneven terrain and work together to complete tasks. Ozkan-Aydin suggests they could be used in a wide variety of applications-- from search and rescue operations to gathering data for farmers to plant their crops.

She hopes that these robots can also be used as a learning tool.

Students can learn how to control the systems using a low-cost platform like that, she said.

But one major takeaway Ozkan-Aydin has on the project is she hopes that by developing these swarm robots on her own, she can inspire another generation of engineers in creating their own devices.

Robotics is growing, and now the age of the students is also decreasing. With availability of 3-D printers and materials, its a very growing area," she said.

And she is thankful for the opportunity and support given by the University of Notre Dame.

We have a growing robotics group here," she said "So people are very supportive of the research on the robots, and our Dean is also interested in this kind of research.

And she suggests that if anyone is looking for design inspiration: look to the natural world that surrounds them:

I suggest to people that if they want to work on robotics, to first look at biology, to see if they cant find some useful ideas.

More here:

Notre Dame professor develops swarm robots and hopes to inspire other creators - ABC 57 News

Related Posts