آموزش رباتهای متحرک برای حرکت در محیطهای پیچیده در فضای باز برای برنامههای کاربردی دنیای واقعی، مانند تحویل یا جستجو و نجات، حیاتی است. با این حال، این نیز یک مشکل چالش برانگیز است زیرا ربات باید محیط اطراف خود را درک کند و سپس برای شناسایی مسیرهای امکان پذیر به سمت هدف کاوش کند. یکی دیگر از چالشهای رایج این است که ربات باید بر زمینهای ناهموار مانند پلهها، حاشیهها یا تخت سنگ در مسیر غلبه کند و در عین حال از موانع و عابران پیاده اجتناب کند. در کار قبلی خود، چالش دوم را با آموزش یک ربات چهارپا برای مقابله با موانع ناهموار چالش برانگیز و زمین های مختلف در فضای باز بررسی کردیم.
در «IndoorSim-to-OutdoorReal: یادگیری پیمایش در فضای باز بدون هیچ گونه تجربه در فضای باز»، کار اخیر خود را برای مقابله با چالش روباتیک استدلال در مورد محیط درک شده برای شناسایی یک مسیر ناوبری مناسب در محیط های بیرونی ارائه می دهیم. ما یک الگوریتم انتقال فضای داخلی به خارج مبتنی بر یادگیری را معرفی میکنیم که از یادگیری تقویتی عمیق برای آموزش یک خطمشی ناوبری در محیطهای داخلی شبیهسازی شده استفاده میکند و با موفقیت همان سیاست را به محیطهای واقعی در فضای باز منتقل میکند. ما همچنین Context-Maps (نقشههایی با مشاهدات محیطی ایجاد شده توسط کاربر) را معرفی میکنیم که برای فعال کردن ناوبری دوربرد کارآمد در الگوریتم ما اعمال میشوند. ما نشان میدهیم که با این سیاست، رباتها میتوانند با موفقیت صدها متر را در محیطهای جدید در فضای باز، در اطراف موانع بیرونی که قبلاً دیده نشدهاند (درختان، بوتهها، ساختمانها، عابران پیاده و غیره) و در شرایط آب و هوایی مختلف (آفتابی، ابری، غروب خورشید) حرکت کنند.
ناوبری PointGoal
ورودیهای کاربر میتوانند با دستوراتی مانند «برو به مجسمه اندروید»، تصاویری که مکان هدف را نشان میدهند، یا با انتخاب یک نقطه روی نقشه، به ربات بگوید کجا باید برود. در این کار، ما هدف ناوبری (نقطه انتخاب شده روی نقشه) را به عنوان یک مختصات نسبی برای موقعیت فعلی ربات مشخص می کنیم (یعنی «برو به ∆x، ∆y»)، که به عنوان ناوبری بصری PointGoal نیز شناخته می شود. وظیفه PointNav). PointNav یک فرمول کلی برای وظایف ناوبری است و یکی از گزینه های استاندارد برای وظایف ناوبری داخلی است. با این حال، با توجه به تصاویر متنوع، زمین های ناهموار و اهداف مسافت طولانی در محیط های باز، آموزش سیاست های PointNav برای محیط های بیرونی یک کار چالش برانگیز است.
انتقال از داخل به خارج
موفقیتهای اخیر در آموزش عوامل روباتیک چرخدار و پا برای حرکت در محیطهای داخلی با توسعه شبیهسازهای سریع و مقیاسپذیر و در دسترس بودن مجموعه دادههای مقیاس بزرگ از اسکنهای سهبعدی فوتورئالیستی محیطهای داخلی امکانپذیر شد. برای استفاده از این موفقیتها، ما یک تکنیک انتقال از داخل به خارج را توسعه میدهیم که رباتهای ما را قادر میسازد تا از محیطهای داخلی شبیهسازی شده بیاموزند و در محیطهای واقعی در فضای باز مستقر شوند.
برای غلبه بر تفاوتهای بین محیطهای داخلی شبیهسازی شده و محیطهای واقعی در فضای باز، از تکنیکهای کنترل سینماتیک و تقویت تصویر در سیستم یادگیری خود استفاده میکنیم. هنگام استفاده از کنترل سینماتیک، وجود یک کنترل کننده حرکتی سطح پایین قابل اعتماد را فرض می کنیم که می تواند ربات را برای رسیدن دقیق به یک مکان جدید کنترل کند. این فرض به ما اجازه میدهد تا در طول آموزش شبیهسازی از طریق یکپارچهسازی اویلر رو به جلو، ربات را مستقیماً به محل مورد نظر منتقل کنیم و ما را از مدلسازی صریح دینامیک ربات در شبیهسازی رهایی میبخشد، که بهشدت توان عملیات تولید دادههای شبیهسازی را بهبود میبخشد. کار قبلی نشان داده است که کنترل سینماتیکی میتواند منجر به انتقال سیم به واقعی بهتر در مقایسه با رویکرد کنترل پویا شود، جایی که دینامیک کامل ربات مدلسازی میشود و یک کنترلکننده حرکت سطح پایین برای حرکت ربات مورد نیاز است.
ترک کرد کنترل سینماتیک؛ درست: کنترل پویا |
ما یک محیط ماز مانند در فضای باز با استفاده از اشیاء یافت شده در داخل خانه برای آزمایش های اولیه ایجاد کردیم، جایی که از ربات Spot Boston Dynamics برای ناوبری آزمایشی استفاده کردیم. ما متوجه شدیم که این ربات می تواند در اطراف موانع جدید در محیط جدید در فضای باز حرکت کند.
ربات Spot با موفقیت در اطراف موانع موجود در محیط های داخلی، با سیاستی که کاملاً در شبیه سازی آموزش دیده است، حرکت می کند. |
با این حال، زمانی که ربات با موانع ناآشنا در فضای باز که در طول تمرین دیده نمی شد، مانند یک شیب زیاد، مواجه شد، قادر به حرکت در شیب نبود.
ربات قادر به حرکت در شیب ها نیست، زیرا شیب ها در محیط های داخلی نادر است و ربات برای مقابله با آن آموزش ندیده است. |
برای اینکه ربات بتواند از شیبها بالا و پایین راه برود، در طول آموزش شبیهسازی از تکنیک تقویت تصویر استفاده میکنیم. به طور خاص، ما به طور تصادفی دوربین شبیه سازی شده را روی ربات در حین آموزش کج می کنیم. می توان آن را در 30 درجه به بالا یا پایین اشاره کرد. این افزایش به طور موثر باعث می شود ربات شیب ها را درک کند، حتی اگر کف هم تراز باشد. آموزش در این شیبهای درک شده، ربات را قادر میسازد تا شیبها را در دنیای واقعی هدایت کند.
با کج کردن تصادفی زاویه دوربین در حین تمرین شبیه سازی، ربات اکنون می تواند از شیب ها بالا و پایین راه برود. |
از آنجایی که رباتها فقط در محیطهای داخلی شبیهسازیشده آموزش دیدهاند، که در آنها معمولاً باید به سمت هدفی در فاصله چند متری راه بروند، متوجه میشویم که شبکه آموختهشده در پردازش ورودیهای برد بلندتر شکست خورده است – به عنوان مثال، خطمشی نتوانسته است به جلو حرکت کند. 100 متر در فضای خالی. برای فعال کردن شبکه خطمشی برای مدیریت ورودیهای دوربرد که برای ناوبری در فضای باز معمول هستند، بردار هدف را با استفاده از گزارش فاصله هدف عادی میکنیم.
Context-Maps برای ناوبری پیچیده دوربرد
با کنار هم قرار دادن همه چیز، ربات می تواند در فضای باز به سمت هدف حرکت کند، در حالی که در زمین های ناهموار راه می رود و از درختان، عابران پیاده و سایر موانع در فضای باز دوری می کند. با این حال، هنوز یک جزء کلیدی وجود ندارد: توانایی ربات برای برنامه ریزی یک مسیر دوربرد کارآمد. در این مقیاس ناوبری، چرخش اشتباه و عقب نشینی می تواند پرهزینه باشد. به عنوان مثال، متوجه میشویم که استراتژی اکتشاف محلی که توسط خطمشیهای استاندارد PointNav آموخته شده است، برای یافتن یک هدف بلندمدت کافی نیست و معمولاً به بنبست منجر میشود (در زیر نشان داده شده است). این به این دلیل است که ربات بدون زمینه محیط خود در حال حرکت است و مسیر بهینه ممکن است از ابتدا برای ربات قابل مشاهده نباشد.
سیاست های ناوبری بدون زمینه محیطی، اهداف پیچیده ناوبری دوربرد را مدیریت نمی کند. |
برای اینکه ربات بتواند زمینه را در نظر بگیرد و به طور هدفمند یک مسیر کارآمد را برنامه ریزی کند، یک Context-Map (تصویر دودویی که نشان دهنده یک نقشه اشغال از بالا به پایین از منطقه ای است که ربات در آن قرار دارد) را به عنوان مشاهدات اضافی برای ربات ارائه می کنیم. . یک مثال Context-Map در زیر آورده شده است، که در آن ناحیه سیاه نشان دهنده مناطق اشغال شده توسط موانع و منطقه سفید قابل راه رفتن توسط ربات است. دایره سبز و قرمز نشان دهنده محل شروع و هدف کار ناوبری است. از طریق Context-Map، میتوانیم نکاتی را به ربات ارائه دهیم (مثلاً دهانه باریک در مسیر زیر) تا به آن کمک کنیم تا یک مسیر ناوبری کارآمد را برنامهریزی کند. در آزمایشهای خود، برای هر مسیری که توسط تصاویر ماهوارهای Google Maps هدایت میشود، Context-Map ایجاد میکنیم. ما این نوع از PointNav را با زمینه محیطی نشان می دهیم Context-Guided PointNav.
مثالی از Context-Map (درست) برای یک کار ناوبری (ترک کرد). |
توجه به این نکته مهم است که Context-Map نیازی به دقیق بودن ندارد زیرا فقط به عنوان یک طرح کلی برای برنامه ریزی عمل می کند. در طول ناوبری، این ربات هنوز باید به دوربینهای خود برای شناسایی و تطبیق مسیر خود با عابران پیاده که در نقشه وجود ندارند، تکیه کند. در آزمایشهای ما، یک اپراتور انسانی به سرعت نقشه زمینه را از تصویر ماهوارهای ترسیم میکند و مناطقی را که باید اجتناب شود، پنهان میکند. این Context-Map، همراه با سایر ورودیهای حسی داخلی، از جمله تصاویر عمق و موقعیت نسبی هدف، به یک شبکه عصبی با مدلهای توجه (یعنی ترانسفورماتورها) وارد میشود که با استفاده از DD-PPO، یک پیادهسازی توزیعشده پروگزیمال، آموزش داده میشوند. بهینه سازی سیاست، در شبیه سازی در مقیاس بزرگ.
معماری PointNav با هدایت متنی شامل یک شبکه عصبی کانولوشنال 3 لایه (CNN) برای پردازش تصاویر عمقی از دوربین ربات، و یک پرسپترون چند لایه (MLP) برای پردازش بردار هدف است. ویژگی ها به یک واحد بازگشتی دروازه ای (GRU) منتقل می شوند. ما از یک رمزگذار CNN اضافی برای پردازش نقشه زمینه (نقشه از بالا به پایین) استفاده می کنیم. ما توجه محصول نقطهای مقیاسشده را بین نقشه و تصویر عمق محاسبه میکنیم و از یک GRU دوم برای پردازش ویژگیهای مورد استفاده استفاده میکنیم (Context Attn.، Depth Attn.). خروجی این خط مشی، سرعت های خطی و زاویه ای است که ربات Spot باید دنبال کند. |
نتایج
ما سیستم خود را در سه وظیفه ناوبری دوربرد در فضای باز ارزیابی می کنیم. Context-Maps ارائه شده خطوط محیطی خشن و ناقصی است که موانعی مانند اتومبیل، درخت یا صندلی را حذف می کند.
با الگوریتم پیشنهادی، ربات ما میتواند 100 درصد مواقع با موفقیت به مکان هدف دوردست برسد، بدون اینکه یک برخورد یا دخالت انسانی داشته باشد. این ربات قادر بود در اطراف عابران پیاده و درهم و برهمی های دنیای واقعی که در نقشه زمینه وجود ندارند حرکت کند و در زمین های مختلف از جمله شیب های خاکی و چمن حرکت کند.
مسیر 1
مسیر 2
مسیر 3
نتیجه
این کار تحقیقات ناوبری رباتیک را به حوزه کمتر اکتشاف شده محیط های مختلف در فضای باز باز می کند. الگوریتم انتقال داخل به خارج ما از تجربه واقعی صفر استفاده میکند و نیازی به شبیهساز برای مدلسازی پدیدههای عمدتاً در فضای باز (زمین، خندقها، پیادهروها، اتومبیلها و غیره) ندارد. موفقیت در این رویکرد از ترکیبی از یک کنترل حرکت قوی، شکاف کم به واقعی در عمق و سنسورهای نقشه و آموزش در مقیاس بزرگ در شبیهسازی حاصل میشود. ما نشان میدهیم که ارائه نقشههای تقریبی و سطح بالا به روباتها میتواند ناوبری دوربرد را در محیطهای جدید در فضای باز فعال کند. نتایج ما شواهد قانعکنندهای برای به چالش کشیدن این فرضیه (که البته معقول است) ارائه میکند که یک شبیهساز جدید باید برای هر سناریوی جدیدی که میخواهیم مطالعه کنیم، طراحی شود. برای اطلاعات بیشتر، لطفا به صفحه پروژه ما مراجعه کنید.
سپاسگزاریها
مایلیم از سونیا چرنوا، تینگنان ژانگ، آوریل زیتکوویچ، دهرو باترا و جی تان برای مشاوره و مشارکت در پروژه تشکر کنیم. همچنین میخواهیم از نائوکی یوکویاما، نابی لی، دیگو ریس، بن جینیس و گاس کورتاس برای کمک به راهاندازی آزمایش ربات تشکر کنیم.