From 1b60d7720fa722dc6af9344ccf5ef9776c3586de Mon Sep 17 00:00:00 2001 From: denkiwakame Date: Fri, 10 May 2024 03:36:16 +0000 Subject: [PATCH] deploy: 07649ad50a73f5920b23775fa69df1cf62be6b11 --- index.bundle.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.bundle.js b/index.bundle.js index d422993..9c96a10 100644 --- a/index.bundle.js +++ b/index.bundle.js @@ -1,2 +1,2 @@ /*! For license information please see index.bundle.js.LICENSE.txt */ -(()=>{var e,t,n,r,i={9996:e=>{"use strict";var t=function(e){return function(e){return!!e&&"object"==typeof e}(e)&&!function(e){var t=Object.prototype.toString.call(e);return"[object RegExp]"===t||"[object Date]"===t||function(e){return e.$$typeof===n}(e)}(e)},n="function"==typeof Symbol&&Symbol.for?Symbol.for("react.element"):60103;function r(e,t){return!1!==t.clone&&t.isMergeableObject(e)?s((n=e,Array.isArray(n)?[]:{}),e,t):e;var n}function i(e,t,n){return e.concat(t).map((function(e){return r(e,n)}))}function o(e){return Object.keys(e).concat(function(e){return Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(e).filter((function(t){return Object.propertyIsEnumerable.call(e,t)})):[]}(e))}function a(e,t){try{return t in e}catch(e){return!1}}function s(e,n,l){(l=l||{}).arrayMerge=l.arrayMerge||i,l.isMergeableObject=l.isMergeableObject||t,l.cloneUnlessOtherwiseSpecified=r;var c=Array.isArray(n);return c===Array.isArray(e)?c?l.arrayMerge(e,n,l):function(e,t,n){var i={};return n.isMergeableObject(e)&&o(e).forEach((function(t){i[t]=r(e[t],n)})),o(t).forEach((function(o){(function(e,t){return a(e,t)&&!(Object.hasOwnProperty.call(e,t)&&Object.propertyIsEnumerable.call(e,t))})(e,o)||(a(e,o)&&n.isMergeableObject(t[o])?i[o]=function(e,t){if(!t.customMerge)return s;var n=t.customMerge(e);return"function"==typeof n?n:s}(o,n)(e[o],t[o],n):i[o]=r(t[o],n))})),i}(e,n,l):r(n,l)}s.all=function(e,t){if(!Array.isArray(e))throw new Error("first argument should be an array");return e.reduce((function(e,n){return s(e,n,t)}),{})};var l=s;e.exports=l},1929:(e,t,n)=>{e.exports=n.p+"assets/choco.png"},2981:(e,t,n)=>{e.exports=n.p+"assets/distancebased.mp4"},9097:(e,t,n)=>{e.exports=n.p+"assets/method.png"},9789:(e,t,n)=>{e.exports=n.p+"assets/n16-ours.mp4"},6685:(e,t,n)=>{e.exports=n.p+"assets/n16-stuckbased.mp4"},7157:(e,t,n)=>{e.exports=n.p+"assets/n9-ours.mp4"},7866:(e,t,n)=>{e.exports=n.p+"assets/n9-timebased.mp4"},2547:(e,t,n)=>{e.exports=n.p+"assets/overview.png"},8855:(e,t,n)=>{e.exports=n.p+"assets/overview.svg"},8267:(e,t,n)=>{e.exports=n.p+"assets/potato.png"},8456:(e,t,n)=>{e.exports=n.p+"assets/result1.png"},1123:(e,t,n)=>{e.exports=n.p+"assets/result_16pillars.svg"},9395:(e,t,n)=>{e.exports=n.p+"assets/result_25pillars.svg"},2029:(e,t,n)=>{e.exports=n.p+"assets/shiromo.png"},9566:(e,t,n)=>{e.exports=n.p+"assets/stuckbased.mp4"},5148:(e,t,n)=>{e.exports=n.p+"assets/teaser.gif"},7306:(e,t,n)=>{e.exports=n.p+"assets/teaser.jpeg"},5833:(e,t,n)=>{e.exports=n.p+"assets/teaser.png"},1420:(e,t,n)=>{e.exports=n.p+"assets/teaser.svg"},967:(e,t,n)=>{e.exports=n.p+"assets/timebased.mp4"},1630:(e,t,n)=>{e.exports=n.p+"assets/result1.mp4"},1014:(e,t,n)=>{e.exports=function(e){var t={};function n(r){if(t[r])return t[r].exports;var i=t[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)n.d(r,i,function(t){return e[t]}.bind(null,i));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=3)}([function(e,t){e.exports=n(7294)},function(e,t,n){e.exports=n(4)()},function(e,t){e.exports=function(e){var t={};function n(r){if(t[r])return t[r].exports;var i=t[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)n.d(r,i,function(t){return e[t]}.bind(null,i));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=0)}([function(e,t,n){"use strict";n.r(t),n.d(t,"validateHTMLColorName",(function(){return r})),n.d(t,"validateHTMLColor",(function(){return i}));const r=e=>{let t=!1;return"string"==typeof e&&["IndianRed","LightCoral","Salmon","DarkSalmon","LightSalmon","Crimson","Red","FireBrick","DarkRed","Pink","LightPink","HotPink","DeepPink","MediumVioletRed","PaleVioletRed","LightSalmon","Coral","Tomato","OrangeRed","DarkOrange","Orange","Gold","Yellow","LightYellow","LemonChiffon","LightGoldenrodYellow","PapayaWhip","Moccasin","PeachPuff","PaleGoldenrod","Khaki","DarkKhaki","Lavender","Thistle","Plum","Violet","Orchid","Fuchsia","Magenta","MediumOrchid","MediumPurple","RebeccaPurple","BlueViolet","DarkViolet","DarkOrchid","DarkMagenta","Purple","Indigo","SlateBlue","DarkSlateBlue","MediumSlateBlue","GreenYellow","Chartreuse","LawnGreen","Lime","LimeGreen","PaleGreen","LightGreen","MediumSpringGreen","SpringGreen","MediumSeaGreen","SeaGreen","ForestGreen","Green","DarkGreen","YellowGreen","OliveDrab","Olive","DarkOliveGreen","MediumAquamarine","DarkSeaGreen","LightSeaGreen","DarkCyan","Teal","Aqua","Cyan","LightCyan","PaleTurquoise","Aquamarine","Turquoise","MediumTurquoise","DarkTurquoise","CadetBlue","SteelBlue","LightSteelBlue","PowderBlue","LightBlue","SkyBlue","LightSkyBlue","DeepSkyBlue","DodgerBlue","CornflowerBlue","MediumSlateBlue","RoyalBlue","Blue","MediumBlue","DarkBlue","Navy","MidnightBlue","Cornsilk","BlanchedAlmond","Bisque","NavajoWhite","Wheat","BurlyWood","Tan","RosyBrown","SandyBrown","Goldenrod","DarkGoldenrod","Peru","Chocolate","SaddleBrown","Sienna","Brown","Maroon","White","Snow","HoneyDew","MintCream","Azure","AliceBlue","GhostWhite","WhiteSmoke","SeaShell","Beige","OldLace","FloralWhite","Ivory","AntiqueWhite","Linen","LavenderBlush","MistyRose","Gainsboro","LightGray","Silver","DarkGray","Gray","DimGray","LightSlateGray","SlateGray","DarkSlateGray","Black","Transparent"].map((n=>{e.toLowerCase()===n.toLowerCase()&&(t=!0)})),t},i=e=>{if("string"==typeof e)return!(!e||!/^#([\da-f]{3}){1,2}$|^#([\da-f]{4}){1,2}$|(rgb|hsl)a?\((\s*-?\d+%?\s*,){2}(\s*-?\d+%?\s*,?\s*\)?)(,\s*(0?\.\d+)?|1)?\)/i.test(e))};t.default=e=>!(!e||!r(e)&&!i(e))}])},function(e,t,n){"use strict";n.r(t);var r=n(0),i=n.n(r),o=n(1),a=n.n(o),s=n(2),l=n.n(s);function c(e){for(var t=1;t=0&&u.splice(t,1)}function g(e){var t=document.createElement("style");if(void 0===e.attrs.type&&(e.attrs.type="text/css"),void 0===e.attrs.nonce){var r=n.nc;r&&(e.attrs.nonce=r)}return v(t,e.attrs),f(e,t),t}function v(e,t){Object.keys(t).forEach((function(n){e.setAttribute(n,t[n])}))}function y(e,t){var n,r,i,o;if(t.transform&&e.css){if(!(o="function"==typeof t.transform?t.transform(e.css):t.transform.default(e.css)))return function(){};e.css=o}if(t.singleton){var a=c++;n=l||(l=g(t)),r=x.bind(null,n,a,!1),i=x.bind(null,n,a,!0)}else e.sourceMap&&"function"==typeof URL&&"function"==typeof URL.createObjectURL&&"function"==typeof URL.revokeObjectURL&&"function"==typeof Blob&&"function"==typeof btoa?(n=function(e){var t=document.createElement("link");return void 0===e.attrs.type&&(e.attrs.type="text/css"),e.attrs.rel="stylesheet",v(t,e.attrs),f(e,t),t}(t),r=function(e,t,n){var r=n.css,i=n.sourceMap,o=void 0===t.convertToAbsoluteUrls&&i;(t.convertToAbsoluteUrls||o)&&(r=h(r)),i&&(r+="\n/*# sourceMappingURL=data:application/json;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(i))))+" */");var a=new Blob([r],{type:"text/css"}),s=e.href;e.href=URL.createObjectURL(a),s&&URL.revokeObjectURL(s)}.bind(null,n,t),i=function(){m(n),n.href&&URL.revokeObjectURL(n.href)}):(n=g(t),r=function(e,t){var n=t.css,r=t.media;if(r&&e.setAttribute("media",r),e.styleSheet)e.styleSheet.cssText=n;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(n))}}.bind(null,n),i=function(){m(n)});return r(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap)return;r(e=t)}else i()}}e.exports=function(e,t){if("undefined"!=typeof DEBUG&&DEBUG&&"object"!=typeof document)throw new Error("The style-loader cannot be used in a non-browser environment");(t=t||{}).attrs="object"==typeof t.attrs?t.attrs:{},t.singleton||"boolean"==typeof t.singleton||(t.singleton=a()),t.insertInto||(t.insertInto="head"),t.insertAt||(t.insertAt="bottom");var n=p(e,t);return d(n,t),function(e){for(var r=[],i=0;i{const t=[{organization:"OMRON SINIC X",twitter:"@omron_sinicx",title:"When to Replan? An Adaptive Replanning Strategy for Autonomous Navigation using Deep Reinforcement Learning",conference:"ICRA2024",resources:{paper:"https://arxiv.org/abs/2304.12046",code:"https://github.com/omron-sinicx/when2replan",video:"https://www.youtube.com/embed/W8nBFKDxsb0",blog:null},description:"evaluated different replanning strategies and propose an adaptive replanning strategy using deep reinforcement learning",image:"https://omron-sinicx.github.io/when2replan/assets/teaser.gif",url:"https://omron-sinicx.github.io/when2replan",authors:[{name:"Kohei Honda*",affiliation:[1,2],url:"http://kohonda.github.io",position:"intern"},{name:"Ryo Yonetani",affiliation:[1],position:"research scientist",url:"https://yonetaniryo.github.io/"},{name:"Mai Nishimura",affiliation:[1],position:"senior researcher",url:"https://denkiwakame.github.io"},{name:"Tadashi Kozuno",affiliation:[1],url:"https://tadashik.github.io"}],contact_ids:["omron",3],affiliations:["OMRON SINIC X Corporation","Nagoya University"],meta:["* work done as an intern at OMRON SINIC X."],bibtex:"@misc{honda2024replan,\n title={When to Replan? An Adaptive Replanning Strategy for Autonomous Navigation using Deep Reinforcement Learning},\n author={Kohei Honda and Ryo Yonetani and Mai Nishimura and Tadashi Kozuno},\n year={2024},\n eprint={2304.12046},\n archivePrefix={arXiv},\n primaryClass={cs.RO}\n}\n",overview:"The hierarchy of global and local planners is one of the most commonly utilized system designs in autonomous robot navigation. While the global planner generates a reference path from the current to goal locations based on the pre-built map, the local planner produces a kinodynamic trajectory to follow the reference path while avoiding perceived obstacles. To account for unforeseen or dynamic obstacles not present on the pre-built map, **``when to replan''** the reference path is critical for the success of safe and efficient navigation. However, determining the ideal timing to execute replanning in such partially unknown environments still remains an open question. In this work, we first conduct an extensive simulation experiment to compare several common replanning strategies and confirm that effective strategies are highly dependent on the environment as well as the global and local planners. Based on this insight, we then derive a new adaptive replanning strategy based on deep reinforcement learning, which can learn from experience to decide appropriate replanning timings in the given environment and planning setups. Our experimental results show that the proposed replanner can perform on par or even better than the current best-performing strategies in multiple situations regarding navigation robustness and efficiency.\n",method:[{title:"Adaptive Replanning using Deep Reinforcement Learning",image:"overview.png",text:"We derive a replanning controller that can learn from its previous navigation experiences to create a better replanning timing for navigation efficiency and robustness. As illustrated in the following figure, the replanner’s action is essentially the same as that of existing replanning strategies, i.e., binary actions indicating whether or not to execute replanning to produce a new reference path for the local planner after the current time step. In other words, the replanner can potentially be utilized as a replacement module for the replanning strategy in existing planning frameworks, thus making it compatible with various combinations of planners and other modules.\n"}],results:[{text:'### v.s. Conventional Replanning Strategies\n
\n
\n Distance-based\n \n
\n
\n Stuck-based\n \n
\n
\n Time-based\n \n
\n
\n'},{text:"We conduct a comprehensive simulation study to systematically evaluate the existing planning strategies and the DRL replanner.\nIn this work, we compare four types of rule-based replanning available in ROS2 Navigation Stack.\n- Distance-based: determines replanning timings on the basis of traveled distance.\n- Stuck-based: decides to execute replans when the robot stops at the same position for a given $\\Delta t_{\\text{stuck}}$ seconds.\n- Time-based: performs replanning at every fixed period of $\\Delta t_{\\text{rep}}$ seconds.\n- Time w/patience: adopts *time-based* strategy when the robot is far rom the goal and changes to *stuck-based* otherwise, expecting to prevent a large detour near the goal.\n"},{text:'

Selected Simulation Results

\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
No ENTRY AREAS16
MetricSR ⬆️CR ⬇️SGT ⬆️SPL ⬆️NR ⬇️
\n No replan\n 27100.4390.270--
\n Distance-based
Stuck-based
Time-based
Time w/ patience\n
\n 62
64
70
70\n
\n 12
13
10
10\n
\n 0.509
0.493
0.538
0.540\n
\n 0.547
0.605
0.615
0.615\n
\n 2186
739
3076
2956\n
Ours (DRL Replanner)7740.5630.6682577
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
25
SR ⬆️CR ⬇️SGT ⬆️SPL ⬆️NR ⬇️
2440.4180.240--
\n 82
71
79
79\n
\n 12
6
12
12\n
\n 0.561
0.482
0.562
0.564\n
\n 0.705
0.658
0.688
0.688\n
\n 1995
818
2671
2558\n
8760.6000.7512066
\n
\n
\n'},{text:"|Metric||\n|------|------|\n|SR|Success Rate over 100 trials, where success is defined as the robot reaching the goal without collision.|\n|CR|Collision Rate over 100 trials.|\n|SGT|Success-weighted by normalized Goal Time.|\n|SPL|Averate Success-weighted normalized Path Length in the number of trials (100).|\n|NR|Number of Replanning over 100 trials.\n"},{text:"The table lists the quantitave evaluation results of 100 trials for each map layout with Dijkstra (Global) and DWA (Local) planners.\nOur DRL replanner, which learns from its experiences to seek better replanning timings, works comparably well or sometimes substantially bettern than the other rule-based strategies in each environment.\n"},{text:'### v.s. Stuck-based Replanning\n
\n
\n Ours (DRL Replanner)\n \n
\n
\n Stuck-based\n \n
\n
\nThe stuck-based replanner can aggressively head towards the goal, especially when dynamic obstacles move out of the way. However, replanning after detecting a stuck situation is inefficient. In contrast, our method replans before getting stuck and quickly reaches the goal.\n\n### v.s. Time-based Replanning\n
\n
\n Ours (DRL Replanner)\n \n
\n
\n Time-based\n \n
\n
\nWhile the time-based method is efficient in scenes where obstacles are stationary, as it always tracks the shortest distance, in dynamic scenes, unnecessary replanning can lead to path oscillation, and cases where it fails to reach the goal have been observed. On the other hand, our proposed method efficiently reaches the goal by replanning only at key points.\n'}]}];e.exports=t.length<=1?t[0]:t},9090:e=>{function t(e,t){e.onload=function(){this.onerror=this.onload=null,t(null,e)},e.onerror=function(){this.onerror=this.onload=null,t(new Error("Failed to load "+this.src),e)}}function n(e,t){e.onreadystatechange=function(){"complete"!=this.readyState&&"loaded"!=this.readyState||(this.onreadystatechange=null,t(null,e))}}e.exports=function(e,r,i){var o=document.head||document.getElementsByTagName("head")[0],a=document.createElement("script");"function"==typeof r&&(i=r,r={}),r=r||{},i=i||function(){},a.type=r.type||"text/javascript",a.charset=r.charset||"utf8",a.async=!("async"in r)||!!r.async,a.src=e,r.attrs&&function(e,t){for(var n in t)e.setAttribute(n,t[n])}(a,r.attrs),r.text&&(a.text=""+r.text),("onload"in a?t:n)(a,i),a.onload||t(a,i),o.appendChild(a)}},845:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>o});var r=Number.isNaN||function(e){return"number"==typeof e&&e!=e};function i(e,t){if(e.length!==t.length)return!1;for(var n=0;n{"use strict";var t=Object.getOwnPropertySymbols,n=Object.prototype.hasOwnProperty,r=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map((function(e){return t[e]})).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach((function(e){r[e]=e})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},r)).join("")}catch(e){return!1}}()?Object.assign:function(e,i){for(var o,a,s=function(e){if(null==e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}(e),l=1;l{"use strict";var r=n(414);function i(){}function o(){}o.resetWarningCache=i,e.exports=function(){function e(e,t,n,i,o,a){if(a!==r){var s=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw s.name="Invariant Violation",s}}function t(){return e}e.isRequired=e;var n={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:o,resetWarningCache:i};return n.PropTypes=n,n}},5697:(e,t,n)=>{e.exports=n(2703)()},414:e=>{"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},4448:(e,t,n)=>{"use strict";var r=n(7294),i=n(7418),o=n(3840);function a(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n