آینده رباتیک را در Automatica کاوش کنید

آینده رباتیک را در Automatica کاوش کنید

آینده رباتیک در نمایشگاه اتوماسیون هوشمند و روباتیک Automatica که این هفته در مونیخ آلمان برگزار می شود به نمایش گذاشته خواهد شد.

بسیاری از نمایش‌های نمایشی که توسط NVIDIA و شرکای آن پشتیبانی می‌شوند، دارای راه‌حل‌های روباتیک با برنامه‌ریزی آسان و بدون کد هستند که هر کسی را قادر می‌سازد ربات‌ها را در تنظیمات صنعتی پیاده‌سازی کند.

توزیع‌کننده رایانه‌های جاسازی‌شده در اروپا Silicon Highway (SHL)، یکی از اعضای نخبه شبکه شریک NVIDIA، با شرکت نرم‌افزار روباتیک آلمانی Wandelbots همکاری کرده است تا نشان دهد چگونه یک ربات صنعتی با دوقلو دیجیتال خود در NVIDIA Omniverse ارتباط برقرار می‌کند. و ساخت برنامه های کاربردی فراجهان. بازدیدکنندگان می‌توانند این مورد را در NVIDIA Isaac Sim، یک ابزار شبیه‌سازی روباتیک و تولید داده مصنوعی که بر روی Omniverse ساخته شده است، امتحان کنند.

به علاوه، سیستم عامل جدید Wandelbots محیط های مجازی و فیزیکی را برای روبات ها ترکیب می کند و به شرکت ها کمک می کند تا فرآیندهای خود را خودکار کنند. این با طیف گسترده ای از ربات ها، حسگرها و دستگاه های اتوماسیون سازگار است و امکان استقرار سریع روباتیک را فراهم می کند. سیستم عامل Wandelbots را در غرفه 411 SHL Automatica در سالن B5 مشاهده کنید.

نمایش شرکت راه حل های صنعتی Rebotnix با استفاده از ماژول NVIDIA Jetson Orin NX، ایمنی و امنیت حرفه ای در زمان واقعی را برجسته می کند. Rebotnix به غرفه SHL در Automatica خواهد پیوست.

شرکت روباتیک آلمانی Franka Emika با NVIDIA همکاری کرده است تا ابزارهای NVIDIA را به محققان و توسعه دهندگان ارائه دهد که می توانند به طور یکپارچه با پلتفرم های روباتیک موجود خود یکپارچه شوند. Franka Emika یک نسخه نمایشی با جعبه انباشته ارائه خواهد کرد که در آن یک دوقلوی دیجیتالی از ربات Franka Research 3 در Isaac Sim در کنار ربات دنیای واقعی نمایش داده می شود. تظاهرات در غرفه 421 در سالن B4 را ببینید.

نمایش Franka Emika در Automatica یک بازوی رباتیک را در شبیه سازی در کنار ربات واقعی برجسته می کند.

این دموهای اضافی را در نمایش ببینید:

  • Agora Robotics از ماژول NVIDIA Jetson Nano به موازات کامپیوتر صنعتی خود با استفاده از پلت فرم محاسبات موازی NVIDIA CUDA و مدل برنامه نویسی اکتساب داده استفاده خواهد کرد.
  • Allied Vision خواندن بارکد را با استفاده از دوربین های Alvium G1 و G5 خود با کیت توسعه دهنده Jetson AGX Orin نشان می دهد.
  • Danube Dynamics یک کامپیوتر صنعتی مبتنی بر NVIDIA Jetson Xavier NX را با یک ربات یا ربات مشترک از شرکت اتوماسیون یونیورسال روبات و همچنین یک دوربین تشخیص اشیاء سه بعدی که به صورت پویا بر روی یک بازوی ربات نصب شده است که برنامه‌های انتخاب و مکان انعطاف‌پذیر را امکان‌پذیر می‌سازد، به نمایش می‌گذارد.
  • Lanner Electronics و ارائه‌دهنده نرم‌افزار Namla به نیروها می‌پیوندند تا یک پلتفرم ابری را نشان دهند که استقرار برنامه‌های کاربردی ابری را در زیرساخت لبه توزیع‌شده امکان‌پذیر می‌سازد و عملکرد، در دسترس بودن و امنیت در سطح ابر را ارائه می‌دهد.
  • Relimetrics، یکی از اعضای برنامه NVIDIA Inception برای استارت‌آپ‌های پیشرفته، بر روی پلتفرم NVIDIA Jetson نمایش‌های نرم‌افزاری برای بازرسی و پیکربندی ناهنجاری‌های آرایشی و همچنین بازرسی ناهنجاری اشعه ایکس برای لوله‌ها و کیسه‌ها اجرا خواهد کرد.
  • ربات Techman ربات هوش مصنوعی خود را به نمایش می گذارد و اینکه چگونه دوقلو دیجیتال خود در Isaac Sim بازرسی نوری خودکار را بهبود می بخشد.

پیشرفت های بیشتر در رباتیک

همچنین در غرفه SHL، نمایش جدیدی از NVIDIA Isaac AMR را تماشا کنید، یک پلتفرم جدید معرفی شده که ناوگان های نسل بعدی روبات های متحرک خودران یا AMR را با ارائه قابلیت های نقشه برداری، استقلال و شبیه سازی پیشرفته، فعال می کند. مشتریان اکنون می توانند برای دسترسی زودهنگام به Isaac AMR درخواست دهند.

علاوه بر این، شرکت نرم‌افزار رباتیک Cogniteam اخیراً با استفاده از پلتفرم Nimbus و NVIDIA Isaac Sim یک سناریوی شبیه‌سازی چند روباتی ایجاد کرده است. این راه‌اندازی قابلیت‌هایی مانند وظایف شبیه‌سازی محلی، دسترسی از راه دور به ماشین‌های شبیه‌سازی، نظارت جهانی بر داده‌های شبیه‌سازی و موارد دیگر را ارائه می‌دهد – همه از طریق یک مرورگر وب قابل دسترسی هستند. در این وبلاگ فنی بیشتر بخوانید.

همچنین با استفاده از Isaac Sim، READY Robotics نرم‌افزاری بدون کد ارائه می‌کند که تجربه کشیدن و رها کردن را برای هر کسی – حتی کسانی که مهارت برنامه‌نویسی ندارند – برای ساخت و استقرار روبات‌ها فراهم می‌کند. در این وبلاگ و در ویدیوی زیر بیشتر بدانید.

ملاقات با نمایندگان NVIDIA در SHL ایستاده 411 در سالن B5 در Automatica که از 27 تا 30 ژوئن اجرا می شود و در مورد آن بیشتر بدانید NVIDIA Isaac پلت فرم رباتیک

تصویر برجسته توسط Wandelbots.

Keynote پلتفرم‌های هوش مصنوعی ژنرال برای هر صنعت را نشان می‌دهد

جنسن هوانگ، بنیانگذار و مدیر عامل NVIDIA، در اولین سخنرانی زنده خود پس از همه گیری همه گیر، امروز کنفرانس COMPUTEX را در تایپه آغاز کرد و پلتفرم هایی را اعلام کرد که شرکت ها می توانند از آنها برای هدایت موج تاریخی هوش مصنوعی مولد استفاده کنند که صنایع را از تبلیغات به تولید و ارتباطات راه دور تبدیل می کند.

هوانگ پس از سال‌ها سخنرانی مجازی که برخی از آنها از آشپزخانه خانه‌اش بودند، در حالی که روی صحنه می‌رفت، فریاد زد: «ما برگشتیم». “من تقریباً چهار سال است که سخنرانی عمومی نداشته ام – برای من آرزوی موفقیت کنید!”

او که نزدیک به دو ساعت در خانه ای پر از جمعیت حدود 3500 نفر صحبت می کرد، خدمات محاسباتی سریع، نرم افزارها و سیستم هایی را توصیف کرد که مدل های تجاری جدید را فعال می کند و مدل های فعلی را کارآمدتر می کند.

هوانگ که سفرهایش در زادگاهش در هفته گذشته روزانه توسط رسانه‌های محلی دنبال می‌شود، گفت: «محاسبات تسریع شده و هوش مصنوعی نشان‌دهنده اختراع مجدد محاسبات است.

برای نمایش قدرت خود، او از دیوار عظیم 8K که در مقابل آن صحبت می‌کرد برای نمایش متنی استفاده کرد که یک آهنگ موضوعی برای نت کلیدی خود ایجاد می‌کرد که می‌توانست مانند هر آهنگ کارائوکه خوانده شود. هوانگ که گهگاه در تایوانی بومی خود جمعیت را طعنه می زد، برای مدت کوتاهی جمعیت را در خواندن سرود جدید رهبری کرد.

وی با اشاره به اینکه اکنون 40000 شرکت بزرگ و 15000 استارت آپ از فناوری های NVIDIA با 25 فناوری استفاده می کنند، گفت: “ما اکنون در نقطه اوج عصر جدیدی از محاسبات هستیم که محاسبات شتاب یافته و هوش مصنوعی تقریباً توسط همه شرکت های محاسباتی و ابری در جهان پذیرفته شده است.” میلیون دانلود نرم افزار CUDA تنها در سال گذشته.

اعلامیه های خبری فوری از سخنرانی اصلی

یک موتور جدید برای هوش مصنوعی سازمانی

برای شرکت هایی که به بهترین عملکرد هوش مصنوعی نیاز دارند، DGX GH200 را معرفی کرد، یک ابررایانه هوش مصنوعی با حافظه بزرگ. این دستگاه از NVIDIA NVLink برای ترکیب 256 سوپرتراشه NVIDIA GH200 Grace Hopper در یک واحد پردازش گرافیکی در اندازه مرکز داده استفاده می کند.

سوپرتراشه GH200 که جنسن گفت اکنون در حال تولید کامل است، یک پردازنده گرافیکی NVIDIA Grace با کارایی انرژی را با یک پردازنده گرافیکی NVIDIA H100 Tensor Core با عملکرد بالا در یک سوپرتراشه ترکیب می‌کند.

DGX GH200 دارای عملکرد exaflop و 144 ترابایت حافظه مشترک است که تقریباً 500 برابر بیشتر از یک سیستم 320 گیگابایتی NVIDIA DGX A100 است. این به توسعه دهندگان اجازه می دهد تا مدل های زبان بزرگی را برای چت ربات های هوش مصنوعی مولد، الگوریتم های پیچیده برای سیستم های توصیه گر و شبکه های عصبی نموداری بسازند که برای تشخیص تقلب و تجزیه و تحلیل داده ها استفاده می شود.

گوگل کلود، متا و مایکروسافت جزو اولین کسانی هستند که انتظار می رود به DGX GH200 دسترسی پیدا کنند، که می تواند به عنوان طرحی برای زیرساخت های هوش مصنوعی مولد در مقیاس فوق العاده در آینده استفاده شود.

ابرکامپیوتر NVIDIA DGX GH200 AI عملکرد 1 exaflop را برای هوش مصنوعی مولد ارائه می دهد.

هوانگ به مخاطبان تایپه که بسیاری از آن‌ها ساعت‌ها قبل از باز شدن درها در خارج از سالن صف کشیده بودند، گفت: ابررایانه‌های DGX GH200 AI از پیشرفته‌ترین فناوری‌های محاسباتی و شبکه‌ای سریع NVIDIA ادغام می‌شوند تا مرزهای هوش مصنوعی را پشت سر بگذارند.

انویدیا در حال ساخت ابررایانه هوش مصنوعی عظیم خود به نام NVIDIA Helios است که امسال آنلاین خواهد شد. این دستگاه از چهار سیستم DGX GH200 متصل به شبکه NVIDIA Quantum-2 InfiniBand برای افزایش توان داده برای آموزش مدل‌های بزرگ هوش مصنوعی استفاده خواهد کرد.

DGX GH200 نشان دهنده اوج صدها سیستم اعلام شده در این رویداد است. آنها با هم، هوش مصنوعی مولد و محاسباتی سریع را به میلیون ها کاربر ارائه می دهند.

با بزرگنمایی تصویر بزرگ، هوانگ اعلام کرد که بیش از 400 پیکربندی سیستمی با آخرین معماری‌های Hopper، Grace، Ada Lovelace و BlueField NVIDIA به بازار می‌آیند. هدف آنها مقابله با پیچیده ترین چالش ها در هوش مصنوعی، علم داده و محاسبات با عملکرد بالا است.

شتاب در هر اندازه

برای پاسخگویی به نیازهای مراکز داده در هر اندازه، هوانگ NVIDIA MGX را معرفی کرد، یک معماری مرجع مدولار برای ساخت سرورهای شتاب‌دار. سازندگان سیستم از آن برای ساخت سریع و مقرون به صرفه بیش از صد پیکربندی سرور مختلف برای تطابق با طیف گسترده ای از برنامه های کاربردی AI، HPC و NVIDIA Omniverse استفاده می کنند.

MGX به سازندگان اجازه می دهد تا CPU و سرورهای شتابی را با استفاده از معماری مشترک و اجزای ماژولار بسازند. از طیف کاملی از پردازنده‌های گرافیکی NVIDIA، پردازنده‌های مرکزی، واحدهای پردازش داده (DPU) و آداپتورهای شبکه و همچنین پردازنده‌های x86 و Arm در انواع شاسی‌های خنک‌شونده با هوا و مایع پشتیبانی می‌کند.

QCT و Supermicro اولین‌هایی هستند که با طرح‌های MGX در ماه آگوست وارد بازار می‌شوند. سیستم ARS-221GL-NR سوپرمیکرو که در COMPUTEX اعلام شد از پردازنده Grace استفاده می کند، در حالی که سیستم S74G-2U QCT که در این رویداد نیز اعلام شد، از Grace Hopper استفاده می کند.

ASRock Rack، ASUS، GIGABYTE و Pegatron همچنین از MGX برای ساخت رایانه های شخصی شتاب یافته نسل بعدی استفاده خواهند کرد.

5G/6G گریس هاپر را فرا می خواند

به طور جداگانه، هوانگ گفت NVIDIA به شکل گیری ارتباطات بی سیم و ویدیویی 5G و 6G آینده کمک می کند. یک نمایش نشان داد که چگونه هوش مصنوعی در حال اجرا بر روی گریس هاپر، تماس‌های ویدیویی دوبعدی امروزی را به تجربیات سه بعدی واقعی‌تر تبدیل می‌کند و حس حضور باورنکردنی را ارائه می‌دهد.

هوانگ با ایجاد زمینه‌ای برای انواع خدمات جدید، اعلام کرد که NVIDIA در حال همکاری با غول مخابراتی SoftBank برای ایجاد یک شبکه توزیع‌شده از مراکز داده در ژاپن است. خدمات 5G و برنامه های کاربردی هوش مصنوعی مولد را بر روی یک پلت فرم مشترک ابری ارائه خواهد کرد.

مراکز داده از سوپرتراشه‌های NVIDIA GH200 و NVIDIA BlueField-3 DPU در سیستم‌های ماژولار MGX و همچنین سوئیچ‌های NVIDIA Spectrum Ethernet برای همگام‌سازی فوق‌العاده دقیق مورد نیاز پروتکل 5G استفاده خواهند کرد. این پلتفرم با افزایش بازده طیفی و در عین حال کاهش مصرف انرژی، هزینه ها را کاهش می دهد.

این سیستم‌ها به سافت‌بانک کمک می‌کنند تا برنامه‌های 5G را در رانندگی خودران، کارخانه‌های هوش مصنوعی، واقعیت افزوده و مجازی، بینایی کامپیوتر و دوقلوهای دیجیتال بررسی کند. کاربردهای آینده حتی می تواند شامل ویدئو کنفرانس سه بعدی و ارتباطات هولوگرافیک باشد.

توربوشارژ شبکه های ابری

به طور جداگانه، هوانگ NVIDIA Spectrum-X را معرفی کرد، یک پلت فرم شبکه که به طور خاص برای بهبود عملکرد و کارایی ابرهای هوش مصنوعی مبتنی بر اترنت طراحی شده است. این سوئیچ‌های اترنت Spectrum-4 را با DPU‌های BlueField-3 و نرم‌افزار ترکیب می‌کند تا 1.7 برابر در عملکرد هوش مصنوعی و بهره‌وری انرژی نسبت به پارچه‌های اترنت سنتی بهبود یابد.

سوئیچ‌های NVIDIA Spectrum-X، Spectrum-4 و DPUهای BlueField-3 اکنون توسط سازندگان سیستم از جمله Dell Technologies، Lenovo و Supermicro در دسترس هستند.

NVIDIA Spectrum-X گردش‌های کاری هوش مصنوعی را تسریع می‌کند که می‌تواند با کاهش عملکرد در شبکه‌های اترنت سنتی مواجه شود.

جان بخشیدن به شخصیت های بازی

هوش مصنوعی مولد همچنین بر نحوه بازی افراد تأثیر می گذارد.

هوانگ از NVIDIA Avatar Cloud Engine (ACE) برای بازی ها خبر داد، یک سرویس ریخته گری که توسعه دهندگان می توانند از آن برای ساخت و استقرار مدل های AI سفارشی برای گفتار، مکالمه و انیمیشن استفاده کنند. این به شخصیت‌های غیرقابل بازی مهارت‌های مکالمه می‌دهد تا بتوانند به سؤالاتی با شخصیت‌های واقع‌گرایانه پاسخ دهند.

NVIDIA ACE for Gaming شامل مدل‌های هسته‌ای هوش مصنوعی مانند NVIDIA Riva برای تشخیص و رونویسی گفتار بازیکن است. متن از NVIDIA NeMo می خواهد تا پاسخ های سفارشی متحرک با NVIDIA Omniverse Audio2Face ایجاد کند.

NVIDIA ACE for Gaming یک زنجیره ابزار برای جان بخشیدن به شخصیت ها با هوش مصنوعی مولد فراهم می کند.

شتاب هوش مصنوعی ژنرال در ویندوز

هوانگ توضیح داد که NVIDIA و مایکروسافت چگونه در حال همکاری برای ایجاد نوآوری برای رایانه های شخصی ویندوزی در عصر هوش مصنوعی مولد هستند.

ابزارها، چارچوب‌ها و درایورهای جدید و بهبود یافته توسعه و پیاده‌سازی هوش مصنوعی را برای توسعه‌دهندگان رایانه شخصی آسان‌تر می‌کند. برای مثال، زنجیره ابزار Microsoft Olive برای بهینه‌سازی و استقرار مدل‌های هوش مصنوعی با شتاب GPU و درایورهای گرافیکی جدید، عملکرد DirectML را در رایانه‌های شخصی ویندوزی با پردازنده‌های گرافیکی NVIDIA افزایش می‌دهد.

این همکاری پایگاه نصب شده 100 میلیون رایانه شخصی را با پردازنده‌های گرافیکی Tensor Core RTX که عملکرد بیش از 400 برنامه و بازی ویندوز با هوش مصنوعی را افزایش می‌دهد، افزایش و گسترش می‌دهد.

دیجیتالی کردن بزرگترین صنایع جهان

هوش مصنوعی مولد همچنین فرصت های جدیدی را در صنعت تبلیغات دیجیتال 700 میلیارد دلاری ایجاد می کند.

به عنوان مثال، WPP، بزرگترین سازمان خدمات بازاریابی در جهان، با NVIDIA کار می کند تا اولین موتور محتوای مولد مبتنی بر هوش مصنوعی را در Omniverse Cloud بسازد.

در یک نمایش، Huang نشان داد که چگونه تیم‌های خلاق ابزارهای طراحی سه بعدی خود مانند Adobe Substance 3D را برای ساخت دوقلوهای دیجیتالی محصولات مشتری در NVIDIA Omniverse به هم متصل می‌کنند. سپس، محتوای ابزارهای هوش مصنوعی مولد آموزش‌دیده بر روی داده‌های منبع‌شده مسئولانه و ساخته‌شده با NVIDIA Picasso به آن‌ها اجازه می‌دهد تا به سرعت مجموعه‌های مجازی ایجاد کنند. مشتریان WPP سپس می توانند از کل صحنه برای تولید تبلیغات، ویدیوها و تجربه های سه بعدی متعدد برای بازارهای جهانی و مصرف کنندگان برای تجربه در هر دستگاه وب استفاده کنند.

هوانگ می‌گوید: «امروزه، تبلیغات کشیده می‌شوند، اما در آینده، وقتی اطلاعات را درگیر می‌کنید، مقدار زیادی از آن تولید می‌شود — مدل محاسباتی تغییر کرده است.

کارخانه ها آینده هوش مصنوعی ایجاد می کنند

با حدود 10 میلیون کارخانه، بخش تولیدی 46 تریلیون دلاری یک زمینه غنی برای دیجیتالی کردن صنعتی است.

“بزرگترین صنایع در جهان چیزهای فیزیکی تولید می کنند. هوانگ گفت، ساختن آنها به صورت دیجیتالی می‌تواند میلیاردها دلار صرفه‌جویی کند.

سخنرانی اصلی نشان داد که چگونه سازندگان لوازم الکترونیکی، از جمله اینترنت صنعتی فاکسکان، اینودیسک، پگاترون، کوانتا و ویسترون، در حال ایجاد جریان‌های کاری دیجیتال با فناوری‌های NVIDIA برای تحقق چشم‌انداز یک کارخانه هوشمند تمام دیجیتال هستند.

آنها از Omniverse و APIهای AI مولد برای اتصال ابزارهای طراحی و ساخت خود استفاده می کنند تا بتوانند دوقلوهای دیجیتالی از کارخانه ها را بسازند. علاوه بر این، آن‌ها از NVIDIA Isaac Sim برای شبیه‌سازی و آزمایش ربات و NVIDIA Metropolis، یک چارچوب هوش مصنوعی بینایی، برای بازرسی خودکار نوری استفاده می‌کنند.

آخرین مولفه، NVIDIA Metropolis for Factories، می‌تواند سیستم‌های کنترل کیفیت سفارشی‌سازی شده ایجاد کند و به تولیدکنندگان مزیت رقابتی بدهد. این به شرکت ها کمک می کند تا برنامه های کاربردی هوش مصنوعی پیشرفته را توسعه دهند.

هوش مصنوعی خطوط مونتاژ را سرعت می بخشد

به عنوان مثال، Pegatron که 300 محصول در سراسر جهان از جمله لپ‌تاپ و گوشی‌های هوشمند تولید می‌کند، در حال راه‌اندازی کارخانه‌های مجازی با Omniverse، Isaac Sim و Metropolis است. این به او اجازه می دهد تا فرآیندها را در یک محیط شبیه سازی شده آزمایش کند و در زمان و هزینه صرفه جویی کند.

Pegatron همچنین از کیت توسعه نرم افزار NVIDIA DeepStream برای توسعه برنامه های ویدیویی هوشمند استفاده کرد که منجر به بهبود 10 برابری در توان عملیاتی شد.

Foxconn Industrial Internet، شعبه خدمات بزرگترین تولیدکننده فناوری جهان، با شرکای NVIDIA Metropolis برای خودکارسازی بخش‌های قابل توجهی از نقاط بازرسی کیفیت برد کار می‌کند.

ساعت ها قبل از باز شدن درها، جمعیت برای سخنرانی کلیدی صف کشیده بودند.

هوانگ در ویدئویی نشان داد که چگونه ربات Techman، یکی از شرکت های تابعه Quanta، از NVIDIA Isaac Sim برای بهینه سازی بازرسی خطوط تولید این غول مستقر در تایوان استفاده می کند. اساسا از ربات های شبیه سازی شده برای آموزش ساخت روبات های بهتر به روبات ها استفاده می کند.

علاوه بر این، هوانگ یک پلت فرم جدید را برای فعال کردن نسل بعدی ناوگان ربات های متحرک خودران (AMR) اعلام کرد. Isaac AMR به شبیه سازی، استقرار و مدیریت ناوگان ربات های متحرک مستقل کمک می کند.

هوانگ گفت، یک اکوسیستم شریک بزرگ – از جمله ADLINK، Aetina، Deloitte، Quantiphi و Siemens – به ارائه همه این راه حل های تولیدی به بازار کمک می کند.

این مثال دیگری است از اینکه چگونه NVIDIA به شرکت‌ها کمک می‌کند تا مزایای هوش مصنوعی مولد را با محاسبات تسریع تجربه کنند.

او پس از این گفتگوی دو ساعته با تشویق شدید گفت: «خیلی وقت است شما را ندیده‌ام، بنابراین چیزهای زیادی برای گفتن داشتم.

برای کسب اطلاعات بیشتر، بخش اصلی را مشاهده کنید.

تحقیقات رباتیک NVIDIA برنده جایزه در مرکز ICRA قرار دارد

بیش از دوازده مقاله تحقیقاتی NVIDIA در مورد روباتیک در کنفرانس بین‌المللی IEEE در مورد رباتیک و اتوماسیون (ICRA) که از 29 می تا 2 ژوئن در لندن برگزار می‌شود، در کانون توجه قرار خواهند گرفت.

یکی با عنوان “پارچه های هندسی: تعمیم مکانیک کلاسیک برای ثبت فیزیک رفتار” جایزه بهترین مقاله IEEE را دریافت خواهد کرد.

بسیاری از ارسال‌های امسال قابلیت‌های رباتیک آموزش دیده در شبیه‌سازی را نشان می‌دهند که سپس نشان داده شد که در دنیای واقعی کار می‌کنند.

مقالات اضافی از اعضای آزمایشگاه تحقیقاتی رباتیک NVIDIA برای ارائه در ICRA عبارتند از:

  • “DeXtreme: دستکاری دستی انعطاف پذیر از شبیه سازی به واقعیت” (مقاله را بخوانید، ویدیو را تماشا کنید)
  • “MVTrans: درک اشیاء شفاف با چند نما” (مقاله را بخوانید، ویدیو را تماشا کنید)
  • “یادگیری خود نظارتی مجوزهای عمل به عنوان حالت های تعامل” (مطالعه مقاله، تماشای ویدئو)
  • “nerf2nerf: ثبت دوگانه میدان های نشر عصبی” (مقاله را بخوانید، ویدیو را تماشا کنید)
  • “DexGrasp-1M: چنگ زدن چند انگشتی ماهرانه از طریق شبیه سازی متفاوت” (مقاله را بخوانید، ویدیو را تماشا کنید)

  • “ProgPrompt: Generating Situational Robot Task Plans with Large Language Models” (مقاله را بخوانید، ویدیو را تماشا کنید)
  • “DefGraspNets: Graphical 3D Field Planning with Graph Neural Networks” (مقاله را بخوانید، ویدیو را تماشا کنید)
  • “CuRobo: تولید حرکت ربات بدون برخورد فلج” (مقاله را بخوانید، ویدیو را تماشا کنید)
  • “بازسازی صحنه های دسکتاپ فقط با RGB برای کنترل دستکاری کننده بدون برخورد” (مطالعه مقاله، تماشای ویدیو)
  • “FewSOL: مجموعه داده ای برای آموزش شی چند شات در محیط های رباتیک” (مقاله را بخوانید، ویدیو را تماشا کنید)

  • “برنامه ریزی دستکاری اشیای چندگانه با طبقه بندی کننده های شبکه عصبی نمودار رابطه ای” (مقاله بخوانید)
  • “CabiNet: تشخیص مقیاس پذیری برخورد عصبی برای بازآرایی شی با تولید صحنه رویه ای” (مقاله را بخوانید، ویدیو را تماشا کنید)
  • “تولید حرکت جهانی و واکنشی با توالی فرمان پارچه هندسی” (مقاله را بخوانید، ویدیو را تماشا کنید)

بسیاری از اسناد بالا شامل پیوندهایی به کدهای GitHub برای کسانی است که می خواهند کاوش کنند.

از شرکای NVIDIA در ICRA دیدن کنید – از جمله Ahead.io، Cogniteam، Connect Tech، Mathworks و Silicon Highway. آنها نمایش هایی از تحقیقات رباتیک در دنیای واقعی را به نمایش خواهند گذاشت که توسط پلتفرم NVIDIA Jetson Orin برای هوش مصنوعی لبه و روباتیک، و پلت فرم شبیه سازی رباتیک NVIDIA Isaac طراحی شده است.

بیشتر بدانید آزمایشگاه تحقیقاتی رباتیک NVIDIA، یک مرکز تعالی مستقر در سیاتل که بر روی دستکاری ربات، ادراک و شبیه سازی مبتنی بر فیزیک متمرکز شده است. این بخشی از تحقیقات انویدیاکه شامل بیش از 300 می باشد منتهی شدن محققان در سراسر جهان بر موضوعاتی از هوش مصنوعی، گرافیک کامپیوتری، بینایی کامپیوتر و خودروهای خودران تمرکز کردند.

آموزش ساخت ماشین ربات دوربین دار با ماژول ESP32-CAM

امروزه طراحی و ساخت ربات ماشینی با دوربین به یکی از جذاب ترین و پرکاربردترین آموزش ها در زمینه رباتیک تبدیل شده است و در این پروژه می توان از ماژول ESP32-CAM و آنچه ربات با استفاده از دوربین می بیند کمک گرفت. این ماژول بر روی سرور شبکه نمایش داده می شود تا بتوانیم ربات را حتی در صورت خارج شدن از دیدمان کنترل کنیم و همچنین توانایی کنترل این ربات را از راه دور و از طریق وای فای داشته باشیم.

لازم به ذکر است که در این پروژه از Arduino IDE برای برنامه ریزی ماژول ESP32-CAM استفاده می کنیم.

اجزا و ویژگی های مهم در ساخت ماشین ربات

قبل از شروع، مهم ترین ویژگی ها و اجزای مورد استفاده در این پروژه را مرور می کنیم.

1) وای فای

ربات ماشین ما با استفاده از Wi-Fi و یک ماژول ESP32-CAM کنترل می شود. برای کنترل این ربات، یک رابط وب سرور ایجاد می کنیم که از هر دستگاه متصل به شبکه محلی قابل دسترسی است. صفحه وب همچنین یک ویدیوی زنده از آنچه ربات می بیند را نشان می دهد. برای تصویر بهتر استفاده از ماژول با آنتن خارجی توصیه می شود زیرا بدون آنتن خارجی می توان فیلم را به کندی پخش کرد و همچنین کنترل ربات از طریق وب سرور نیز کند و با تاخیر انجام می شود.

2) کیت شاسی ربات

در این پروژه از شاسی ربات دو چرخ استفاده می کنیم که شامل شاسی پلاستیکی، دو چرخ پلاستیکی، دو موتور گیربکس پلاستیکی، چرخ یدکی و سایر قطعات مورد نیاز برای ساخت ربات شامل پیچ و اسپیسر می باشد.

البته می توانید با توجه به خلاقیت خود از شاسی های فلزی، چوبی یا پلاستیکی مختلف استفاده کنید یا از موتورها و چرخ های مختلف استفاده کنید. اما برای شروع، این شاسی کار را بسیار ساده می کند.

3) راننده موتور سیکلت L298N

روش های مختلفی برای کنترل موتورهای DC وجود دارد. ما در این پروژه از درایور موتور L298N استفاده می کنیم زیرا کنترل سرعت و جهت چرخش دو موتور را بسیار آسان می کند.

4) تغذیه ربات

برای جلوگیری از پیچیدگی مدار، ربات (موتورها) و ماژول ESP32 را به یک منبع تغذیه متصل می کنیم و برای این منظور از یک کیس مینی پاور بانک تک خروجی استفاده می کنیم.
توجه: موتورها معمولا جریان زیادی می کشند، بنابراین اگر فکر می کنید ربات شما به درستی حرکت نمی کند، به منبع تغذیه خارجی نیاز دارید. به این معنا که شما باید از دو منبع تغذیه استفاده کنید. یکی برای موتورهای DC و دیگری برای ماژول ESP32.

قطعات لازم

اکنون که با قطعات ساخت ماشین ربات دوربین دار آشنا شدید، نوبت به ارائه قطعات زیر می رسد که برای دسترسی سریعتر لینک آن را در اختیار شما قرار داده ایم:

نحوه رانندگی با ماشین ربات با دوربین

همانطور که می بینید، ما از وب سرور یا مرورگر تلفن همراه خود برای کنترل از راه دور این ربات کنترلی استفاده خواهیم کرد. این وب سرور دارای 5 دکمه است: رو به جلو، بازگشت، به سمت چپ، درست است، واقعی و خودت را متوقف کن. تا زمانی که دست ما روی یکی از دکمه ها باشد، ربات در جهت مربوطه حرکت می کند و با رها شدن دکمه، ربات می ایستد. با این حال، گاهی اوقات ESP32 ممکن است وقتی دست خود را از روی دکمه بردارید، دستور توقف را دریافت نکند. در این مواقع داشتن دکمه توقف به ما کمک می کند تا ربات را متوقف کنیم.

کد آردوینو

پس از یادگیری نحوه کار اجزای این ربات ماشینی و مشخص کردن مسیر ارتباطی با وب سرور، لازم است برنامه زیر را در Arduino IDE کامپیوتر خود کپی کنید تا به مراحل بعدی یعنی. بارگذاری برنامه در ماژول ESP32.

اگر هنوز برنامه Arduino IDE را بر روی کامپیوتر خود نصب نکرده اید، می توانید با دانلود این برنامه از قسمت نرم افزار وبسایت آردوینو، نسخه مناسب سیستم خود را دانلود و نصب کنید.

/*********
  Rui Santos
  Complete instructions at https://RandomNerdTutorials.com/esp32-cam-projects-ebook/
  
  Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files.
  The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
*********/

#include "esp_camera.h"
#include <WiFi.h>
#include "esp_timer.h"
#include "img_converters.h"
#include "Arduino.h"
#include "fb_gfx.h"
#include "soc/soc.h"             // disable brownout problems
#include "soc/rtc_cntl_reg.h"    // disable brownout problems
#include "esp_http_server.h"

// Replace with your network credentials
const char* ssid = "REPLACE_WITH_YOUR_SSID";
const char* password = "REPLACE_WITH_YOUR_PASSWORD";

#define PART_BOUNDARY "123456789000000000000987654321"

#define CAMERA_MODEL_AI_THINKER
//#define CAMERA_MODEL_M5STACK_PSRAM
//#define CAMERA_MODEL_M5STACK_WITHOUT_PSRAM
//#define CAMERA_MODEL_M5STACK_PSRAM_B
//#define CAMERA_MODEL_WROVER_KIT

#if defined(CAMERA_MODEL_WROVER_KIT)
  #define PWDN_GPIO_NUM    -1
  #define RESET_GPIO_NUM   -1
  #define XCLK_GPIO_NUM    21
  #define SIOD_GPIO_NUM    26
  #define SIOC_GPIO_NUM    27
  
  #define Y9_GPIO_NUM      35
  #define Y8_GPIO_NUM      34
  #define Y7_GPIO_NUM      39
  #define Y6_GPIO_NUM      36
  #define Y5_GPIO_NUM      19
  #define Y4_GPIO_NUM      18
  #define Y3_GPIO_NUM       5
  #define Y2_GPIO_NUM       4
  #define VSYNC_GPIO_NUM   25
  #define HREF_GPIO_NUM    23
  #define PCLK_GPIO_NUM    22

#elif defined(CAMERA_MODEL_M5STACK_PSRAM)
  #define PWDN_GPIO_NUM     -1
  #define RESET_GPIO_NUM    15
  #define XCLK_GPIO_NUM     27
  #define SIOD_GPIO_NUM     25
  #define SIOC_GPIO_NUM     23
  
  #define Y9_GPIO_NUM       19
  #define Y8_GPIO_NUM       36
  #define Y7_GPIO_NUM       18
  #define Y6_GPIO_NUM       39
  #define Y5_GPIO_NUM        5
  #define Y4_GPIO_NUM       34
  #define Y3_GPIO_NUM       35
  #define Y2_GPIO_NUM       32
  #define VSYNC_GPIO_NUM    22
  #define HREF_GPIO_NUM     26
  #define PCLK_GPIO_NUM     21

#elif defined(CAMERA_MODEL_M5STACK_WITHOUT_PSRAM)
  #define PWDN_GPIO_NUM     -1
  #define RESET_GPIO_NUM    15
  #define XCLK_GPIO_NUM     27
  #define SIOD_GPIO_NUM     25
  #define SIOC_GPIO_NUM     23
  
  #define Y9_GPIO_NUM       19
  #define Y8_GPIO_NUM       36
  #define Y7_GPIO_NUM       18
  #define Y6_GPIO_NUM       39
  #define Y5_GPIO_NUM        5
  #define Y4_GPIO_NUM       34
  #define Y3_GPIO_NUM       35
  #define Y2_GPIO_NUM       17
  #define VSYNC_GPIO_NUM    22
  #define HREF_GPIO_NUM     26
  #define PCLK_GPIO_NUM     21

#elif defined(CAMERA_MODEL_AI_THINKER)
  #define PWDN_GPIO_NUM     32
  #define RESET_GPIO_NUM    -1
  #define XCLK_GPIO_NUM      0
  #define SIOD_GPIO_NUM     26
  #define SIOC_GPIO_NUM     27
  
  #define Y9_GPIO_NUM       35
  #define Y8_GPIO_NUM       34
  #define Y7_GPIO_NUM       39
  #define Y6_GPIO_NUM       36
  #define Y5_GPIO_NUM       21
  #define Y4_GPIO_NUM       19
  #define Y3_GPIO_NUM       18
  #define Y2_GPIO_NUM        5
  #define VSYNC_GPIO_NUM    25
  #define HREF_GPIO_NUM     23
  #define PCLK_GPIO_NUM     22

#elif defined(CAMERA_MODEL_M5STACK_PSRAM_B)
  #define PWDN_GPIO_NUM     -1
  #define RESET_GPIO_NUM    15
  #define XCLK_GPIO_NUM     27
  #define SIOD_GPIO_NUM     22
  #define SIOC_GPIO_NUM     23
  
  #define Y9_GPIO_NUM       19
  #define Y8_GPIO_NUM       36
  #define Y7_GPIO_NUM       18
  #define Y6_GPIO_NUM       39
  #define Y5_GPIO_NUM        5
  #define Y4_GPIO_NUM       34
  #define Y3_GPIO_NUM       35
  #define Y2_GPIO_NUM       32
  #define VSYNC_GPIO_NUM    25
  #define HREF_GPIO_NUM     26
  #define PCLK_GPIO_NUM     21

#else
  #error "Camera model not selected"
#endif

#define MOTOR_1_PIN_1    14
#define MOTOR_1_PIN_2    15
#define MOTOR_2_PIN_1    13
#define MOTOR_2_PIN_2    12

static const char* _STREAM_CONTENT_TYPE = "multipart/x-mixed-replace;boundary=" PART_BOUNDARY;
static const char* _STREAM_BOUNDARY = "rn--" PART_BOUNDARY "rn";
static const char* _STREAM_PART = "Content-Type: image/jpegrnContent-Length: %urnrn";

httpd_handle_t camera_httpd = NULL;
httpd_handle_t stream_httpd = NULL;

static const char PROGMEM INDEX_HTML[] = R"rawliteral(
<html>
  <head>
    <title>ESP32-CAM Robot</title>
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <style>
      body { font-family: Arial; text-align: center; margin:0px auto; padding-top: 30px;}
      table { margin-left: auto; margin-right: auto; }
      td { padding: 8 px; }
      .button {
        background-color: #2f4468;
        border: none;
        color: white;
        padding: 10px 20px;
        text-align: center;
        text-decoration: none;
        display: inline-block;
        font-size: 18px;
        margin: 6px 3px;
        cursor: pointer;
        -webkit-touch-callout: none;
        -webkit-user-select: none;
        -khtml-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        user-select: none;
        -webkit-tap-highlight-color: rgba(0,0,0,0);
      }
      img {  width: auto ;
        max-width: 100% ;
        height: auto ; 
      }
    </style>
  </head>
  <body>
    <h1>ESP32-CAM Robot</h1>
    <img src="" id="photo" >
    <table>
      <tr><td colspan="3" align="center"><button class="button" onmousedown="toggleCheckbox('forward');" ontouchstart="toggleCheckbox('forward');" onmouseup="toggleCheckbox('stop');" ontouchend="toggleCheckbox('stop');">Forward</button></td></tr>
      <tr><td align="center"><button class="button" onmousedown="toggleCheckbox('left');" ontouchstart="toggleCheckbox('left');" onmouseup="toggleCheckbox('stop');" ontouchend="toggleCheckbox('stop');">Left</button></td><td align="center"><button class="button" onmousedown="toggleCheckbox('stop');" ontouchstart="toggleCheckbox('stop');">Stop</button></td><td align="center"><button class="button" onmousedown="toggleCheckbox('right');" ontouchstart="toggleCheckbox('right');" onmouseup="toggleCheckbox('stop');" ontouchend="toggleCheckbox('stop');">Right</button></td></tr>
      <tr><td colspan="3" align="center"><button class="button" onmousedown="toggleCheckbox('backward');" ontouchstart="toggleCheckbox('backward');" onmouseup="toggleCheckbox('stop');" ontouchend="toggleCheckbox('stop');">Backward</button></td></tr>                   
    </table>
   <script>
   function toggleCheckbox(x) {
     var xhr = new XMLHttpRequest();
     xhr.open("GET", "/action?go=" + x, true);
     xhr.send();
   }
   window.onload = document.getElementById("photo").src = window.location.href.slice(0, -1) + ":81/stream";
  </script>
  </body>
</html>
)rawliteral";

static esp_err_t index_handler(httpd_req_t *req){
  httpd_resp_set_type(req, "text/html");
  return httpd_resp_send(req, (const char *)INDEX_HTML, strlen(INDEX_HTML));
}

static esp_err_t stream_handler(httpd_req_t *req){
  camera_fb_t * fb = NULL;
  esp_err_t res = ESP_OK;
  size_t _jpg_buf_len = 0;
  uint8_t * _jpg_buf = NULL;
  char * part_buf[64];

  res = httpd_resp_set_type(req, _STREAM_CONTENT_TYPE);
  if(res != ESP_OK){
    return res;
  }

  while(true){
    fb = esp_camera_fb_get();
    if (!fb) {
      Serial.println("Camera capture failed");
      res = ESP_FAIL;
    } else {
      if(fb->width > 400){
        if(fb->format != PIXFORMAT_JPEG){
          bool jpeg_converted = frame2jpg(fb, 80, &_jpg_buf, &_jpg_buf_len);
          esp_camera_fb_return(fb);
          fb = NULL;
          if(!jpeg_converted){
            Serial.println("JPEG compression failed");
            res = ESP_FAIL;
          }
        } else {
          _jpg_buf_len = fb->len;
          _jpg_buf = fb->buf;
        }
      }
    }
    if(res == ESP_OK){
      size_t hlen = snprintf((char *)part_buf, 64, _STREAM_PART, _jpg_buf_len);
      res = httpd_resp_send_chunk(req, (const char *)part_buf, hlen);
    }
    if(res == ESP_OK){
      res = httpd_resp_send_chunk(req, (const char *)_jpg_buf, _jpg_buf_len);
    }
    if(res == ESP_OK){
      res = httpd_resp_send_chunk(req, _STREAM_BOUNDARY, strlen(_STREAM_BOUNDARY));
    }
    if(fb){
      esp_camera_fb_return(fb);
      fb = NULL;
      _jpg_buf = NULL;
    } else if(_jpg_buf){
      free(_jpg_buf);
      _jpg_buf = NULL;
    }
    if(res != ESP_OK){
      break;
    }
    //Serial.printf("MJPG: %uBn",(uint32_t)(_jpg_buf_len));
  }
  return res;
}

static esp_err_t cmd_handler(httpd_req_t *req){
  char*  buf;
  size_t buf_len;
  char variable[32] = {0,};
  
  buf_len = httpd_req_get_url_query_len(req) + 1;
  if (buf_len > 1) {
    buf = (char*)malloc(buf_len);
    if(!buf){
      httpd_resp_send_500(req);
      return ESP_FAIL;
    }
    if (httpd_req_get_url_query_str(req, buf, buf_len) == ESP_OK) {
      if (httpd_query_key_value(buf, "go", variable, sizeof(variable)) == ESP_OK) {
      } else {
        free(buf);
        httpd_resp_send_404(req);
        return ESP_FAIL;
      }
    } else {
      free(buf);
      httpd_resp_send_404(req);
      return ESP_FAIL;
    }
    free(buf);
  } else {
    httpd_resp_send_404(req);
    return ESP_FAIL;
  }

  sensor_t * s = esp_camera_sensor_get();
  int res = 0;
  
  if(!strcmp(variable, "forward")) {
    Serial.println("Forward");
    digitalWrite(MOTOR_1_PIN_1, 1);
    digitalWrite(MOTOR_1_PIN_2, 0);
    digitalWrite(MOTOR_2_PIN_1, 1);
    digitalWrite(MOTOR_2_PIN_2, 0);
  }
  else if(!strcmp(variable, "left")) {
    Serial.println("Left");
    digitalWrite(MOTOR_1_PIN_1, 0);
    digitalWrite(MOTOR_1_PIN_2, 1);
    digitalWrite(MOTOR_2_PIN_1, 1);
    digitalWrite(MOTOR_2_PIN_2, 0);
  }
  else if(!strcmp(variable, "right")) {
    Serial.println("Right");
    digitalWrite(MOTOR_1_PIN_1, 1);
    digitalWrite(MOTOR_1_PIN_2, 0);
    digitalWrite(MOTOR_2_PIN_1, 0);
    digitalWrite(MOTOR_2_PIN_2, 1);
  }
  else if(!strcmp(variable, "backward")) {
    Serial.println("Backward");
    digitalWrite(MOTOR_1_PIN_1, 0);
    digitalWrite(MOTOR_1_PIN_2, 1);
    digitalWrite(MOTOR_2_PIN_1, 0);
    digitalWrite(MOTOR_2_PIN_2, 1);
  }
  else if(!strcmp(variable, "stop")) {
    Serial.println("Stop");
    digitalWrite(MOTOR_1_PIN_1, 0);
    digitalWrite(MOTOR_1_PIN_2, 0);
    digitalWrite(MOTOR_2_PIN_1, 0);
    digitalWrite(MOTOR_2_PIN_2, 0);
  }
  else {
    res = -1;
  }

  if(res){
    return httpd_resp_send_500(req);
  }

  httpd_resp_set_hdr(req, "Access-Control-Allow-Origin", "*");
  return httpd_resp_send(req, NULL, 0);
}

void startCameraServer(){
  httpd_config_t config = HTTPD_DEFAULT_CONFIG();
  config.server_port = 80;
  httpd_uri_t index_uri = {
    .uri       = "/",
    .method    = HTTP_GET,
    .handler   = index_handler,
    .user_ctx  = NULL
  };

  httpd_uri_t cmd_uri = {
    .uri       = "/action",
    .method    = HTTP_GET,
    .handler   = cmd_handler,
    .user_ctx  = NULL
  };
  httpd_uri_t stream_uri = {
    .uri       = "/stream",
    .method    = HTTP_GET,
    .handler   = stream_handler,
    .user_ctx  = NULL
  };
  if (httpd_start(&camera_httpd, &config) == ESP_OK) {
    httpd_register_uri_handler(camera_httpd, &index_uri);
    httpd_register_uri_handler(camera_httpd, &cmd_uri);
  }
  config.server_port += 1;
  config.ctrl_port += 1;
  if (httpd_start(&stream_httpd, &config) == ESP_OK) {
    httpd_register_uri_handler(stream_httpd, &stream_uri);
  }
}

void setup() {
  WRITE_PERI_REG(RTC_CNTL_BROWN_OUT_REG, 0); //disable brownout detector
  
  pinMode(MOTOR_1_PIN_1, OUTPUT);
  pinMode(MOTOR_1_PIN_2, OUTPUT);
  pinMode(MOTOR_2_PIN_1, OUTPUT);
  pinMode(MOTOR_2_PIN_2, OUTPUT);
  
  Serial.begin(115200);
  Serial.setDebugOutput(false);
  
  camera_config_t config;
  config.ledc_channel = LEDC_CHANNEL_0;
  config.ledc_timer = LEDC_TIMER_0;
  config.pin_d0 = Y2_GPIO_NUM;
  config.pin_d1 = Y3_GPIO_NUM;
  config.pin_d2 = Y4_GPIO_NUM;
  config.pin_d3 = Y5_GPIO_NUM;
  config.pin_d4 = Y6_GPIO_NUM;
  config.pin_d5 = Y7_GPIO_NUM;
  config.pin_d6 = Y8_GPIO_NUM;
  config.pin_d7 = Y9_GPIO_NUM;
  config.pin_xclk = XCLK_GPIO_NUM;
  config.pin_pclk = PCLK_GPIO_NUM;
  config.pin_vsync = VSYNC_GPIO_NUM;
  config.pin_href = HREF_GPIO_NUM;
  config.pin_sscb_sda = SIOD_GPIO_NUM;
  config.pin_sscb_scl = SIOC_GPIO_NUM;
  config.pin_pwdn = PWDN_GPIO_NUM;
  config.pin_reset = RESET_GPIO_NUM;
  config.xclk_freq_hz = 20000000;
  config.pixel_format = PIXFORMAT_JPEG; 
  
  if(psramFound()){
    config.frame_size = FRAMESIZE_VGA;
    config.jpeg_quality = 10;
    config.fb_count = 2;
  } else {
    config.frame_size = FRAMESIZE_SVGA;
    config.jpeg_quality = 12;
    config.fb_count = 1;
  }
  
  // Camera init
  esp_err_t err = esp_camera_init(&config);
  if (err != ESP_OK) {
    Serial.printf("Camera init failed with error 0x%x", err);
    return;
  }
  // Wi-Fi connection
  WiFi.begin(ssid, password);
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }
  Serial.println("");
  Serial.println("WiFi connected");
  
  Serial.print("Camera Stream Ready! Go to: http://");
  Serial.println(WiFi.localIP());
  
  // Start streaming web server
  startCameraServer();
}

void loop() {
  
}

پس از انتقال قطعه کد بالا، باید مشخصات شبکه وای فای خود را در این قسمت وارد کنید:

const char* ssid = "REPLACE_WITH_YOUR_SSID";
const char* password = "REPLACE_WITH_YOUR_PASSWORD";

توضیحات کد:

بیایید نگاهی به قسمت های مختلف برنامه بیندازیم:

  • قسمت تعریف، پایه های ورودی و خروجی کنترلر موتور را مشخص می کند، هر موتور توسط دو پایه کنترل می شود.
#define MOTOR_1_PIN_1    14
#define MOTOR_1_PIN_2    15
#define MOTOR_2_PIN_1    13
#define MOTOR_2_PIN_2    12
  • در قطعه کد زیر یک وب سرور حاوی دکمه ها و یک صفحه ایجاد کرده ایم که با کلیک بر روی هر دکمه، یک درخواست HTML به URL مخصوص آن دکمه ارسال می شود.
<table>
      <tr><td colspan="3" align="center"><button class="button" onmousedown="toggleCheckbox('forward');" ontouchstart="toggleCheckbox('forward');" onmouseup="toggleCheckbox('stop');" ontouchend="toggleCheckbox('stop');">Forward</button></td></tr>
      <tr><td align="center"><button class="button" onmousedown="toggleCheckbox('left');" ontouchstart="toggleCheckbox('left');" onmouseup="toggleCheckbox('stop');" ontouchend="toggleCheckbox('stop');">Left</button></td><td align="center"><button class="button" onmousedown="toggleCheckbox('stop');" ontouchstart="toggleCheckbox('stop');">Stop</button></td><td align="center"><button class="button" onmousedown="toggleCheckbox('right');" ontouchstart="toggleCheckbox('right');" onmouseup="toggleCheckbox('stop');" ontouchend="toggleCheckbox('stop');">Right</button></td></tr>
      <tr><td colspan="3" align="center"><button class="button" onmousedown="toggleCheckbox('backward');" ontouchstart="toggleCheckbox('backward');" onmouseup="toggleCheckbox('stop');" ontouchend="toggleCheckbox('stop');">Backward</button></td></tr>                   
    </table>
   <script>
   function toggleCheckbox(x) {
     var xhr = new XMLHttpRequest();
     xhr.open("GET", "/action?go=" + x, true);
     xhr.send();
   }
   window.onload = document.getElementById("photo").src = window.location.href.slice(0, -1) + ":81/stream";
  </script>
  • URL درخواست برای هر دکمه در زیر فهرست شده است:

حرکت رو به جلو

<ESP_IP_ADDRESS>/action?go=forward

به عقب حرکت کنید

حرکت به سمت چپ

برو راست

خودت را متوقف کن

هنگامی که هر دکمه را رها می کنید، یک درخواست توقف نیز باید به /action?go=stop ارسال شود تا ربات تنها با فشار دادن یک دکمه حرکت کند.

پرس و جوها را با دستورات شرطی مدیریت کنید

ما از دستورات شرطی برای پاسخ به درخواست های ارسال شده به URL های فهرست شده استفاده می کنیم:

if(!strcmp(variable, "forward")) {
    Serial.println("Forward");
    digitalWrite(MOTOR_1_PIN_1, 1);
    digitalWrite(MOTOR_1_PIN_2, 0);
    digitalWrite(MOTOR_2_PIN_1, 1);
    digitalWrite(MOTOR_2_PIN_2, 0);
 }
 else if(!strcmp(variable, "left")) {
   Serial.println("Left");
   digitalWrite(MOTOR_1_PIN_1, 0);
   digitalWrite(MOTOR_1_PIN_2, 1);
   digitalWrite(MOTOR_2_PIN_1, 1);
   digitalWrite(MOTOR_2_PIN_2, 0);
}
else if(!strcmp(variable, "right")) {
   Serial.println("Right");
   digitalWrite(MOTOR_1_PIN_1, 1);
   digitalWrite(MOTOR_1_PIN_2, 0);
   digitalWrite(MOTOR_2_PIN_1, 0);
   digitalWrite(MOTOR_2_PIN_2, 1);
}
else if(!strcmp(variable, "backward")) {
   Serial.println("Backward");
   digitalWrite(MOTOR_1_PIN_1, 0);
   digitalWrite(MOTOR_1_PIN_2, 1);
   digitalWrite(MOTOR_2_PIN_1, 0);
   digitalWrite(MOTOR_2_PIN_2, 1);
}
else if(!strcmp(variable, "stop")) {
   Serial.println("Stop");
   digitalWrite(MOTOR_1_PIN_1, 0);
   digitalWrite(MOTOR_1_PIN_2, 0);
   digitalWrite(MOTOR_2_PIN_1, 0);
   digitalWrite(MOTOR_2_PIN_2, 0);
}

پس از افزودن نام و رمز عبور شبکه وای فای، می توانیم برنامه را در ماژول ESP32-CAM آپلود کنیم. آپلود کد روی این برد با بردهای دیگری مانند آردوینو یا NodeMCU کمی متفاوت است، بنابراین بهتر است ابتدا درباره نحوه آپلود کد بحث کنید.

نحوه آپلود برنامه ماژول ESP32-CAM

با فرض نصب برنامه آردوینو در این مرحله پس از انجام اتصالات ذکر شده باید افزونه ESP32 را بر روی آردوینو IDE نصب کنیم برای این کار از تب File گزینه Preferences را باز می کنیم.

  • آدرس زیر را در بخش URLهای مدیر تابلوی اضافی اضافه کنید و با کلیک بر روی دکمه OK پنجره تنظیمات را ببندید.
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json

توجه: اگر قبلاً آدرس دیگری (مانند آدرس پلاگین ESP8266) را در این قسمت وارد کرده اید، کافی است یک کاما (,) بین آنها قرار دهید تا URL ها از هم جدا شوند. مثلا:

https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json, http://arduino.esp8266.com/stable/package_esp8266com_index.json
  • اکنون Boards Manager را از Tools > Board > Boards Manager باز کنید.
  • کلمه ESP32 را در کادر جستجو تایپ کنید و ESP32 by Espressif Systems را از آیتم های ظاهر شده نصب کنید.
  • پس از چند دقیقه (بسته به سرعت اینترنت شما) این بسته نصب می شود.

اکنون نرم افزار ما آماده است.

  • سپس برای آپلود برنامه ابتدا برد ESP32-CAM خود را از طریق ماژول مبدل USB به سریال (ماژول مبدل مدل FT232RL) به کامپیوتر متصل کنید. برای این منظور اتصالات خود را مطابق تصویر زیر انجام دهید:

مبدل FT232RL دارای جامپر است که به شما امکان می دهد بین 3.3 ولت و 5 ولت یکی را انتخاب کنید. مطمئن شوید که این جامپر روی 5 ولت تنظیم شده است.

توجه: ممکن است ترتیب پین ماژول مبدلی که استفاده می کنید با این تصویر متفاوت باشد، در این صورت جای نگرانی نیست و فقط باید به نام پین ها دقت کنید و آنها را به درستی وصل کنید.

توجه: لازم است هنگام آپلود برنامه، پین GPIO0 را به GND متصل کنید.

اتصالات مبدل به ماژول ESP32 در جدول زیر آمده است:

ESP32-CAM برنامه نویس FTDI
GND GND
5 ولت VCC (5 ولت)
U0R TX
U0T RX
GPIO 0 GND
  • در این مرحله از برنامه آردوینو، برد AI-Thinker ESP32-CAM را از قسمت Tools > Board انتخاب کنید و سپس از قسمت Tools > Port پورتی که مبدل USB به سریال به آن متصل است را انتخاب کنید.

اکنون می توانیم روی دکمه آپلود کلیک کنیم:

  • پس از کامپایل شدن برنامه، عبارت …Link در پنجره اشکال زدایی ظاهر می شود. در این مرحله باید دکمه ریست (RST) روی ماژول را یک بار فشار دهید.
  • پس از چند ثانیه، برنامه با موفقیت آپلود می شود:
  • حالا باید پین GPIO0 را از GND جدا کنیم و دوباره دکمه ریست روی برد را فشار دهیم تا برنامه شروع شود.

تست کردن برنامه

پس از آپلود برنامه، باید برنامه آپلود شده را تست کنید و مطمئن شوید که درست کار می کند، برای این کار مانیتور سریال را باز کنید تا آدرس IP ماژول را ببینید.

همانطور که در تصویر بالا مشاهده می کنید، آدرس IP برد ما 192.168.1.87 است. در این مرحله یک مرورگر را باز کنید و آدرس IP را در آن وارد کنید. اکنون باید وب سرور را ببینید:

روی دکمه ها کلیک کنید و با دیدن مانیتور سریال بررسی کنید که ارسال دستورات بدون تاخیر و وقفه انجام شود.

اگر همه دکمه ها به خوبی کار می کنند، زمان تکمیل مدار ماشین ربات فرا رسیده است.

تکمیل مدار و ساخت ربات دوربین با ماژول ESP32-CAM

پس از مونتاژ شاسی ربات می توانید طبق مراحل زیر از نمودار زیر برای اتصال مدار استفاده کنید.

ابتدا باید ESP32-CAM را همانطور که در تصویر نشان داده شده است به درایور موتور متصل کنید. برای ساخت مدار می توانید از یک برد مدار کوچک یا برد دارای سوراخ استفاده کنید.

جدول زیر نحوه اتصال ماژول ESP32-CAM و درایور موتور را نشان می دهد:

درایور موتور L298N ESP32-CAM
در 1 GPIO 14
در 2 GPIO 15
IN3 GPIO 13
IN4 GPIO 12

همانطور که می بینید، ما تمام این اتصالات را روی یک تخته پانچ کوچک انجام دادیم.

  • سپس موتورها را به پایانه های ماژول درایور موتور متصل کنید.

توجه: پیشنهاد می شود همانطور که در شکل شماتیک نشان داده شده است، یک خازن لنز 100 نانوفاراد را روی پایانه های هر موتور لحیم کنید. این خازن افزایش ولتاژ را کاهش می دهد. همچنین می توانید در مسیر خروج سیم قرمز رنگ از ماژول پاوربانک یک کلید قرار دهید و با آن برق مدار را خاموش و روشن کنید.

  • در نهایت برق را از طریق ماژول پاوربانک وصل کنید. برای این کار باید یک سیم را با انتهای میکرو USB قطع کنید و از سیم های مثبت و منفی آن استفاده کنید. ما در این پروژه برق ESP32-CAM و موتورها را از یک منبع تامین کردیم و نتیجه خوب و مطلوبی گرفتیم.

توجه: همانطور که گفته شد، موتورها به جریان بسیار زیادی نیاز دارند، بنابراین اگر فکر می کنید ربات شما کند حرکت می کند، ممکن است لازم باشد از منبع تغذیه جداگانه برای موتورها استفاده کنید.

در نهایت، ربات ماشین ما به شکل زیر خواهد بود:

نمایش عملکرد ربات بر روی دستگاه کنترل از راه دور

پس از اتمام سیم کشی و اتصال ربات، به مرورگر خود برگردید و آدرس IP را وارد کنید. اکنون باید بتوانید ربات ماشین خود را رانندگی کنید و تصویر را از دوربین مشاهده کنید. این وب سرور روی موبایل یا دسکتاپ به خوبی کار می کند.

توجه: شما فقط می توانید این وب سرور را در یک سیستم در یک زمان باز کنید.

نتیجه

در این آموزش یاد گرفتیم که چگونه یک ماشین دوربین بسازیم و آن را از راه دور از طریق وب سرور کنترل کنیم. شما می توانید این پروژه را بهبود ببخشید، به عنوان مثال برنامه را تغییر دهید تا ESP32-CAM در حالت هات اسپات کار کند. بنابراین ربات در هر کجا که باشد می تواند یک شبکه وای فای ایجاد کند و هر وسیله ای که نزدیک آن باشد می تواند به شبکه متصل شود و ربات را کنترل کند.

در پایان امیدواریم با انجام این پروژه جالب به نتیجه دلخواه رسیده باشید اما اگر در حین یادگیری یا ساخت این ربات ماشین با مشکل یا سوالی مواجه شدید جای نگرانی نیست زیرا تیم متخصص RoboQ همیشه آماده پاسخگویی به سوالات عزیزان برای این منظور نظرات و سوالات خود را در قسمت نظرات همین صفحه با ما در میان بگذارید و در اسرع وقت پاسخ خود را دریافت کنید.

سیستم های DGX H100 اکنون در سراسر جهان ارسال می شوند

مشتریانی از ژاپن گرفته تا اکوادور و سوئد از سیستم‌های NVIDIA DGX H100 به عنوان کارخانه‌های هوش مصنوعی برای تولید اطلاعات استفاده می‌کنند.

آنها در حال ساخت خدماتی هستند که بینش های مبتنی بر هوش مصنوعی را در امور مالی، مراقبت های بهداشتی، قانون، فناوری اطلاعات و ارتباطات راه دور ارائه می دهند – و در تلاشند تا صنایع خود را در این فرآیند متحول کنند.

در میان ده‌ها مورد استفاده، یکی پیش‌بینی می‌کند که تجهیزات کارخانه چگونه پیر می‌شوند تا کارخانه‌های فردا کارآمدتر باشند.

این فناوری که هوش مصنوعی فیزیک سبز نام دارد، اطلاعاتی مانند ردپای دی‌اکسید کربن، سن و مصرف انرژی یک جسم را به SORDI.ai اضافه می‌کند که ادعا می‌کند بزرگترین مجموعه داده مصنوعی در تولید است.

هوش مصنوعی Green Physics به کاربران این امکان را می دهد تا نحوه پیری اشیاء را مدل کنند.

این مجموعه داده، تولیدکنندگان را قادر می‌سازد تا مدل‌های قدرتمند هوش مصنوعی ایجاد کنند و دوقلوهای دیجیتالی ایجاد کنند که کارایی کارخانه و انبار را بهینه می‌کند. با هوش مصنوعی فیزیک سبز، آنها همچنین می توانند صرفه جویی در مصرف انرژی و CO2 را برای محصولات کارخانه و اجزای موجود در آنها بهینه کنند.

با نوکر هوشمند خود آشنا شوید

رباتی را تصور کنید که می تواند شما را تماشا کند که ظرف ها را می شستید یا روغن ماشینتان را تعویض می کند، سپس این کار را برای شما انجام دهد.

مؤسسه هوش مصنوعی Boston Dynamics (موسسه AI)، یک سازمان تحقیقاتی که ریشه‌های خود را به Boston Dynamics، پیشگام شناخته شده در رباتیک ردیابی می‌کند، از DGX H100 برای دنبال کردن این چشم‌انداز استفاده خواهد کرد. محققان روبات‌های متحرک ماهرانه‌ای را تصور می‌کنند که به مردم در کارخانه‌ها، انبارها، مکان‌های بلایای طبیعی و در نهایت خانه‌ها کمک می‌کنند.

الریزی، مدیر ارشد فناوری مؤسسه هوش مصنوعی، می‌گوید: «یک چیزی که از دوران دبیرستان رویای آن را داشتم، یک ربات نوکر است که می‌تواند من را دنبال کند و کارهای مفیدی را انجام دهد—همه باید یکی را داشته باشند».

این امر مستلزم پیشرفت هایی در هوش مصنوعی و روباتیک است، چیزی که Rizzi از نزدیک دیده است. به عنوان دانشمند ارشد در Boston Dynamics، او به ساخت روبات هایی مانند Spot کمک کرد، یک چهارپا که می تواند از پله ها حرکت کند و حتی درها را به روی خود باز کند.

DGX H100 در ابتدا وظایف یادگیری تقویتی را انجام خواهد داد که یک تکنیک کلیدی در رباتیک است. بعداً، همزمان با اتصال مستقیم به ربات‌های نمونه اولیه در آزمایشگاه، وظایف استنتاج هوش مصنوعی را اجرا می‌کند.

ریزی گفت: «این یک رایانه با کارایی بسیار بالا با ردپای نسبتاً فشرده است، بنابراین راه آسانی برای توسعه و استقرار مدل‌های هوش مصنوعی در اختیار ما قرار می‌دهد.

برای حکومت ژنرال هوش مصنوعی متولد شد

برای استفاده از DGX H100 لازم نیست یک سازمان تحقیقاتی در سطح جهانی یا یک شرکت Fortune 500 باشید. استارت‌آپ‌ها در حال بازگشایی برخی از اولین سیستم‌های سوار بر موج هوش مصنوعی مولد هستند.

به عنوان مثال، Scissero، با دفاتری در لندن و نیویورک، از یک ربات گفتگوی مبتنی بر GPT برای کارآمدتر کردن فرآیندهای قانونی استفاده می کند. Scissero GPT آن می تواند اسناد قانونی را تهیه کند، گزارش تولید کند و تحقیقات حقوقی را انجام دهد.

در آلمان، DeepL از چندین سیستم DGX H100 برای گسترش خدماتی مانند ترجمه بین ده‌ها زبانی که به مشتریان از جمله Nikkei، بزرگترین شرکت ناشر ژاپنی ارائه می‌کند، استفاده خواهد کرد. DeepL اخیراً یک دستیار نوشتن هوش مصنوعی به نام DeepL Write راه اندازی کرده است.

برای سلامتی تو

بسیاری از سیستم‌های DGX H100 مراقبت‌های بهداشتی را ارتقا می‌دهند و نتایج بیمار را بهبود می‌بخشند.

در توکیو، DGX H100s شبیه‌سازی‌ها و هوش مصنوعی را برای سرعت بخشیدن به فرآیند تشخیص دارو به عنوان بخشی از ابررایانه توکیو-1 اجرا می‌کند. Xeureka – استارت آپی که در نوامبر 2021 توسط Mitsui & Co راه اندازی شد. Ltd.، یکی از بزرگترین شرکت های ژاپنی – این سیستم را راه اندازی خواهد کرد.

به طور جداگانه، بیمارستان ها و سازمان های مراقبت های بهداشتی دانشگاهی در آلمان، اسرائیل و ایالات متحده جزو اولین کاربران سیستم های DGX H100 خواهند بود.

روشنایی در سراسر جهان

دانشگاه هایی از سنگاپور تا سوئد از سیستم های DGX H100 برای تحقیقات در زمینه های مختلف استفاده می کنند.

DGX H100 مدل های زبان بزرگ را برای آزمایشگاه فیزیک کاربردی دانشگاه جان هاپکینز آموزش خواهد داد. مؤسسه سلطنتی KTH سوئد از یکی برای گسترش قابلیت‌های ابرکامپیوتری خود استفاده خواهد کرد.

در میان موارد استفاده دیگر، CyberAgent ژاپن، یک شرکت خدمات اینترنتی، تبلیغات دیجیتال هوشمند و آواتارهای افراد مشهور را ایجاد می کند. Telconet، ارائه‌دهنده پیشرو ارتباطات راه دور در اکوادور، در حال ساخت تجزیه و تحلیل ویدیوی هوشمند برای شهرهای امن و خدمات زبانی برای پشتیبانی از مشتریان گویش اسپانیایی است.

موتور نوآوری هوش مصنوعی

هر پردازنده گرافیکی NVIDIA H100 Tensor Core در سیستم DGX H100 به طور متوسط ​​حدود 6 برابر عملکرد GPU های قبلی را ارائه می دهد. DGX H100 شامل هشت مورد از آنها است که هر کدام دارای یک موتور ترانسفورماتور هستند که برای سرعت بخشیدن به مدل های هوش مصنوعی مولد طراحی شده اند.

هشت GPU H100 از طریق NVIDIA NVLink متصل می شوند تا یک GPU غول پیکر ایجاد کنند. مقیاس‌گذاری به همین جا ختم نمی‌شود: سازمان‌ها می‌توانند صدها گره DGX H100 را در یک ابررایانه هوش مصنوعی با استفاده از NVIDIA Quantum InfiniBand با تأخیر بسیار کم 400 گیگابیت بر ثانیه، دو برابر سرعت شبکه‌های قبلی، متصل کنند.

پشتیبانی شده توسط یک پشته نرم افزار کامل

سیستم‌های DGX H100 بر روی NVIDIA Base Command اجرا می‌شوند، مجموعه‌ای برای تسریع زیرساخت محاسبات، ذخیره‌سازی و شبکه و بهینه‌سازی بارهای کاری هوش مصنوعی.

آنها همچنین شامل NVIDIA AI Enterprise، نرم افزاری برای تسریع خطوط لوله علم داده و ساده سازی توسعه و استقرار هوش مصنوعی مولد، بینایی کامپیوتر و موارد دیگر هستند.

پلت فرم DGX هم کارایی و هم کارایی بالایی را ارائه می دهد. DGX H100 نسبت به نسل DGX A100 در کیلووات هر پتافلاپ 2 برابر بهبود یافته است.

سیستم‌های NVIDIA DGX H100، DGX POD و DGX SuperPOD از شرکای جهانی NVIDIA در دسترس هستند.

Manuveer Das، معاون محاسبات سازمانی NVIDIA، امروز در یک سخنرانی در رویداد محاسبات آینده MIT Technology Review اعلام کرد که سیستم‌های DGX H100 ارسال می‌شوند. لینک سخنرانی او به زودی در اینجا در دسترس خواهد بود.

آموزش ساخت ماشین ربات با استفاده از ESP32-CAM

امروزه طراحی و ساخت ربات ماشینی به یکی از جذاب ترین و پرکاربردترین آموزش ها در زمینه رباتیک تبدیل شده است و در این پروژه می توان از ماژول ESP32-CAM استفاده کرد و آنچه را که ربات می بیند در وب سرور با استفاده از دوربین نمایش داد. از این ماژول تا بتوانیم ربات را حتی در صورت خارج شدن از دیدمان کنترل کنیم و همچنین بتوانیم این ربات را از راه دور و از طریق وای فای کنترل کنیم.

لازم به ذکر است که در این پروژه از Arduino IDE برای برنامه ریزی ماژول ESP32-CAM استفاده می کنیم.

اجزا و ویژگی های مهم در ساخت ماشین ربات

قبل از شروع، مهم ترین ویژگی ها و اجزای مورد استفاده در این پروژه را مرور می کنیم.

1) وای فای

ربات ماشین ما قرار است با استفاده از Wi-Fi و یک ماژول ESP32-CAM کنترل شود. برای کنترل این ربات، یک رابط وب سرور ایجاد می کنیم که از هر دستگاه متصل به شبکه محلی قابل دسترسی است. صفحه وب همچنین یک ویدیوی زنده از آنچه ربات می بیند را نشان می دهد. برای تصویر بهتر استفاده از ماژول با آنتن خارجی توصیه می شود، زیرا فیلم را می توان به آرامی و بدون آنتن خارجی پخش کرد و کنترل ربات از طریق وب سرور نیز کند و با تاخیر انجام می شود.

2) کیت شاسی ربات

در این پروژه از شاسی ربات دو چرخ استفاده می کنیم که شامل شاسی پلاستیکی، دو چرخ پلاستیکی، دو موتور گیربکس پلاستیکی، چرخ یدکی و سایر قطعات مورد نیاز برای ساخت ربات شامل پیچ و اسپیسر می باشد.

البته می توانید با توجه به خلاقیت خود از شاسی های فلزی، چوبی یا پلاستیکی مختلف استفاده کنید یا از موتورها و چرخ های مختلف استفاده کنید. اما برای شروع، این شاسی کار را بسیار ساده می کند.

3) راننده موتور سیکلت L298N

روش های مختلفی برای کنترل موتورهای DC وجود دارد. ما در این پروژه از درایور موتور L298N استفاده می کنیم زیرا کنترل سرعت و جهت چرخش دو موتور را بسیار آسان می کند.

4) منبع غذا خوردن ربات

برای جلوگیری از پیچیدگی مدار، ربات (موتورها) و ماژول ESP32 را به یک منبع تغذیه متصل می کنیم و برای این منظور از یک کیس مینی پاور بانک تک خروجی استفاده می کنیم.
توجه: موتورها معمولا جریان زیادی می کشند، بنابراین اگر فکر می کنید ربات شما به درستی حرکت نمی کند، به منبع تغذیه خارجی نیاز دارید. به این معنا که شما باید از دو منبع تغذیه استفاده کنید. یکی برای موتورهای DC و دیگری برای ماژول ESP32.

قطعات لازم

اکنون که با قطعات ساخت این ربات ماشین آشنا شدید، نوبت به ارائه قطعات زیر می رسد که برای دسترسی سریعتر لینک آن را در اختیار شما قرار داده ایم:

چگونه مدیریت ربات یک ماشین

همانطور که می دانید ما از وب سرور یا مرورگر تلفن همراه خود برای کنترل از راه دور این ربات که دارای 5 دکمه است استفاده می کنیم: رو به جلو، بازگشت، به سمت چپ، درست است، واقعی و خودت را متوقف کن. تا زمانی که دست ما روی یکی از دکمه ها باشد، ربات در جهت مربوطه حرکت می کند و با رها شدن دکمه، ربات می ایستد. با این حال، گاهی اوقات ESP32 ممکن است وقتی دست خود را از روی دکمه بردارید، دستور توقف را دریافت نکند. در این مواقع داشتن دکمه توقف به ما کمک می کند تا ربات را متوقف کنیم.

کد آردوینو

پس از یادگیری نحوه کار اجزای این ربات ماشینی و مشخص کردن مسیر ارتباطی با وب سرور، لازم است برنامه زیر را در Arduino IDE کامپیوتر خود کپی کنید تا به مراحل بعدی یعنی. بارگذاری برنامه در ماژول ESP32.

اگر هنوز برنامه Arduino IDE را بر روی کامپیوتر خود نصب نکرده اید، می توانید با دانلود این برنامه از قسمت نرم افزار وبسایت آردوینو، نسخه مناسب سیستم خود را دانلود و نصب کنید.

/*********
  Rui Santos
  Complete instructions at https://RandomNerdTutorials.com/esp32-cam-projects-ebook/
  
  Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files.
  The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
*********/

#include "esp_camera.h"
#include <WiFi.h>
#include "esp_timer.h"
#include "img_converters.h"
#include "Arduino.h"
#include "fb_gfx.h"
#include "soc/soc.h"             // disable brownout problems
#include "soc/rtc_cntl_reg.h"    // disable brownout problems
#include "esp_http_server.h"

// Replace with your network credentials
const char* ssid = "REPLACE_WITH_YOUR_SSID";
const char* password = "REPLACE_WITH_YOUR_PASSWORD";

#define PART_BOUNDARY "123456789000000000000987654321"

#define CAMERA_MODEL_AI_THINKER
//#define CAMERA_MODEL_M5STACK_PSRAM
//#define CAMERA_MODEL_M5STACK_WITHOUT_PSRAM
//#define CAMERA_MODEL_M5STACK_PSRAM_B
//#define CAMERA_MODEL_WROVER_KIT

#if defined(CAMERA_MODEL_WROVER_KIT)
  #define PWDN_GPIO_NUM    -1
  #define RESET_GPIO_NUM   -1
  #define XCLK_GPIO_NUM    21
  #define SIOD_GPIO_NUM    26
  #define SIOC_GPIO_NUM    27
  
  #define Y9_GPIO_NUM      35
  #define Y8_GPIO_NUM      34
  #define Y7_GPIO_NUM      39
  #define Y6_GPIO_NUM      36
  #define Y5_GPIO_NUM      19
  #define Y4_GPIO_NUM      18
  #define Y3_GPIO_NUM       5
  #define Y2_GPIO_NUM       4
  #define VSYNC_GPIO_NUM   25
  #define HREF_GPIO_NUM    23
  #define PCLK_GPIO_NUM    22

#elif defined(CAMERA_MODEL_M5STACK_PSRAM)
  #define PWDN_GPIO_NUM     -1
  #define RESET_GPIO_NUM    15
  #define XCLK_GPIO_NUM     27
  #define SIOD_GPIO_NUM     25
  #define SIOC_GPIO_NUM     23
  
  #define Y9_GPIO_NUM       19
  #define Y8_GPIO_NUM       36
  #define Y7_GPIO_NUM       18
  #define Y6_GPIO_NUM       39
  #define Y5_GPIO_NUM        5
  #define Y4_GPIO_NUM       34
  #define Y3_GPIO_NUM       35
  #define Y2_GPIO_NUM       32
  #define VSYNC_GPIO_NUM    22
  #define HREF_GPIO_NUM     26
  #define PCLK_GPIO_NUM     21

#elif defined(CAMERA_MODEL_M5STACK_WITHOUT_PSRAM)
  #define PWDN_GPIO_NUM     -1
  #define RESET_GPIO_NUM    15
  #define XCLK_GPIO_NUM     27
  #define SIOD_GPIO_NUM     25
  #define SIOC_GPIO_NUM     23
  
  #define Y9_GPIO_NUM       19
  #define Y8_GPIO_NUM       36
  #define Y7_GPIO_NUM       18
  #define Y6_GPIO_NUM       39
  #define Y5_GPIO_NUM        5
  #define Y4_GPIO_NUM       34
  #define Y3_GPIO_NUM       35
  #define Y2_GPIO_NUM       17
  #define VSYNC_GPIO_NUM    22
  #define HREF_GPIO_NUM     26
  #define PCLK_GPIO_NUM     21

#elif defined(CAMERA_MODEL_AI_THINKER)
  #define PWDN_GPIO_NUM     32
  #define RESET_GPIO_NUM    -1
  #define XCLK_GPIO_NUM      0
  #define SIOD_GPIO_NUM     26
  #define SIOC_GPIO_NUM     27
  
  #define Y9_GPIO_NUM       35
  #define Y8_GPIO_NUM       34
  #define Y7_GPIO_NUM       39
  #define Y6_GPIO_NUM       36
  #define Y5_GPIO_NUM       21
  #define Y4_GPIO_NUM       19
  #define Y3_GPIO_NUM       18
  #define Y2_GPIO_NUM        5
  #define VSYNC_GPIO_NUM    25
  #define HREF_GPIO_NUM     23
  #define PCLK_GPIO_NUM     22

#elif defined(CAMERA_MODEL_M5STACK_PSRAM_B)
  #define PWDN_GPIO_NUM     -1
  #define RESET_GPIO_NUM    15
  #define XCLK_GPIO_NUM     27
  #define SIOD_GPIO_NUM     22
  #define SIOC_GPIO_NUM     23
  
  #define Y9_GPIO_NUM       19
  #define Y8_GPIO_NUM       36
  #define Y7_GPIO_NUM       18
  #define Y6_GPIO_NUM       39
  #define Y5_GPIO_NUM        5
  #define Y4_GPIO_NUM       34
  #define Y3_GPIO_NUM       35
  #define Y2_GPIO_NUM       32
  #define VSYNC_GPIO_NUM    25
  #define HREF_GPIO_NUM     26
  #define PCLK_GPIO_NUM     21

#else
  #error "Camera model not selected"
#endif

#define MOTOR_1_PIN_1    14
#define MOTOR_1_PIN_2    15
#define MOTOR_2_PIN_1    13
#define MOTOR_2_PIN_2    12

static const char* _STREAM_CONTENT_TYPE = "multipart/x-mixed-replace;boundary=" PART_BOUNDARY;
static const char* _STREAM_BOUNDARY = "rn--" PART_BOUNDARY "rn";
static const char* _STREAM_PART = "Content-Type: image/jpegrnContent-Length: %urnrn";

httpd_handle_t camera_httpd = NULL;
httpd_handle_t stream_httpd = NULL;

static const char PROGMEM INDEX_HTML[] = R"rawliteral(
<html>
  <head>
    <title>ESP32-CAM Robot</title>
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <style>
      body { font-family: Arial; text-align: center; margin:0px auto; padding-top: 30px;}
      table { margin-left: auto; margin-right: auto; }
      td { padding: 8 px; }
      .button {
        background-color: #2f4468;
        border: none;
        color: white;
        padding: 10px 20px;
        text-align: center;
        text-decoration: none;
        display: inline-block;
        font-size: 18px;
        margin: 6px 3px;
        cursor: pointer;
        -webkit-touch-callout: none;
        -webkit-user-select: none;
        -khtml-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        user-select: none;
        -webkit-tap-highlight-color: rgba(0,0,0,0);
      }
      img {  width: auto ;
        max-width: 100% ;
        height: auto ; 
      }
    </style>
  </head>
  <body>
    <h1>ESP32-CAM Robot</h1>
    <img src="" id="photo" >
    <table>
      <tr><td colspan="3" align="center"><button class="button" onmousedown="toggleCheckbox('forward');" ontouchstart="toggleCheckbox('forward');" onmouseup="toggleCheckbox('stop');" ontouchend="toggleCheckbox('stop');">Forward</button></td></tr>
      <tr><td align="center"><button class="button" onmousedown="toggleCheckbox('left');" ontouchstart="toggleCheckbox('left');" onmouseup="toggleCheckbox('stop');" ontouchend="toggleCheckbox('stop');">Left</button></td><td align="center"><button class="button" onmousedown="toggleCheckbox('stop');" ontouchstart="toggleCheckbox('stop');">Stop</button></td><td align="center"><button class="button" onmousedown="toggleCheckbox('right');" ontouchstart="toggleCheckbox('right');" onmouseup="toggleCheckbox('stop');" ontouchend="toggleCheckbox('stop');">Right</button></td></tr>
      <tr><td colspan="3" align="center"><button class="button" onmousedown="toggleCheckbox('backward');" ontouchstart="toggleCheckbox('backward');" onmouseup="toggleCheckbox('stop');" ontouchend="toggleCheckbox('stop');">Backward</button></td></tr>                   
    </table>
   <script>
   function toggleCheckbox(x) {
     var xhr = new XMLHttpRequest();
     xhr.open("GET", "/action?go=" + x, true);
     xhr.send();
   }
   window.onload = document.getElementById("photo").src = window.location.href.slice(0, -1) + ":81/stream";
  </script>
  </body>
</html>
)rawliteral";

static esp_err_t index_handler(httpd_req_t *req){
  httpd_resp_set_type(req, "text/html");
  return httpd_resp_send(req, (const char *)INDEX_HTML, strlen(INDEX_HTML));
}

static esp_err_t stream_handler(httpd_req_t *req){
  camera_fb_t * fb = NULL;
  esp_err_t res = ESP_OK;
  size_t _jpg_buf_len = 0;
  uint8_t * _jpg_buf = NULL;
  char * part_buf[64];

  res = httpd_resp_set_type(req, _STREAM_CONTENT_TYPE);
  if(res != ESP_OK){
    return res;
  }

  while(true){
    fb = esp_camera_fb_get();
    if (!fb) {
      Serial.println("Camera capture failed");
      res = ESP_FAIL;
    } else {
      if(fb->width > 400){
        if(fb->format != PIXFORMAT_JPEG){
          bool jpeg_converted = frame2jpg(fb, 80, &_jpg_buf, &_jpg_buf_len);
          esp_camera_fb_return(fb);
          fb = NULL;
          if(!jpeg_converted){
            Serial.println("JPEG compression failed");
            res = ESP_FAIL;
          }
        } else {
          _jpg_buf_len = fb->len;
          _jpg_buf = fb->buf;
        }
      }
    }
    if(res == ESP_OK){
      size_t hlen = snprintf((char *)part_buf, 64, _STREAM_PART, _jpg_buf_len);
      res = httpd_resp_send_chunk(req, (const char *)part_buf, hlen);
    }
    if(res == ESP_OK){
      res = httpd_resp_send_chunk(req, (const char *)_jpg_buf, _jpg_buf_len);
    }
    if(res == ESP_OK){
      res = httpd_resp_send_chunk(req, _STREAM_BOUNDARY, strlen(_STREAM_BOUNDARY));
    }
    if(fb){
      esp_camera_fb_return(fb);
      fb = NULL;
      _jpg_buf = NULL;
    } else if(_jpg_buf){
      free(_jpg_buf);
      _jpg_buf = NULL;
    }
    if(res != ESP_OK){
      break;
    }
    //Serial.printf("MJPG: %uBn",(uint32_t)(_jpg_buf_len));
  }
  return res;
}

static esp_err_t cmd_handler(httpd_req_t *req){
  char*  buf;
  size_t buf_len;
  char variable[32] = {0,};
  
  buf_len = httpd_req_get_url_query_len(req) + 1;
  if (buf_len > 1) {
    buf = (char*)malloc(buf_len);
    if(!buf){
      httpd_resp_send_500(req);
      return ESP_FAIL;
    }
    if (httpd_req_get_url_query_str(req, buf, buf_len) == ESP_OK) {
      if (httpd_query_key_value(buf, "go", variable, sizeof(variable)) == ESP_OK) {
      } else {
        free(buf);
        httpd_resp_send_404(req);
        return ESP_FAIL;
      }
    } else {
      free(buf);
      httpd_resp_send_404(req);
      return ESP_FAIL;
    }
    free(buf);
  } else {
    httpd_resp_send_404(req);
    return ESP_FAIL;
  }

  sensor_t * s = esp_camera_sensor_get();
  int res = 0;
  
  if(!strcmp(variable, "forward")) {
    Serial.println("Forward");
    digitalWrite(MOTOR_1_PIN_1, 1);
    digitalWrite(MOTOR_1_PIN_2, 0);
    digitalWrite(MOTOR_2_PIN_1, 1);
    digitalWrite(MOTOR_2_PIN_2, 0);
  }
  else if(!strcmp(variable, "left")) {
    Serial.println("Left");
    digitalWrite(MOTOR_1_PIN_1, 0);
    digitalWrite(MOTOR_1_PIN_2, 1);
    digitalWrite(MOTOR_2_PIN_1, 1);
    digitalWrite(MOTOR_2_PIN_2, 0);
  }
  else if(!strcmp(variable, "right")) {
    Serial.println("Right");
    digitalWrite(MOTOR_1_PIN_1, 1);
    digitalWrite(MOTOR_1_PIN_2, 0);
    digitalWrite(MOTOR_2_PIN_1, 0);
    digitalWrite(MOTOR_2_PIN_2, 1);
  }
  else if(!strcmp(variable, "backward")) {
    Serial.println("Backward");
    digitalWrite(MOTOR_1_PIN_1, 0);
    digitalWrite(MOTOR_1_PIN_2, 1);
    digitalWrite(MOTOR_2_PIN_1, 0);
    digitalWrite(MOTOR_2_PIN_2, 1);
  }
  else if(!strcmp(variable, "stop")) {
    Serial.println("Stop");
    digitalWrite(MOTOR_1_PIN_1, 0);
    digitalWrite(MOTOR_1_PIN_2, 0);
    digitalWrite(MOTOR_2_PIN_1, 0);
    digitalWrite(MOTOR_2_PIN_2, 0);
  }
  else {
    res = -1;
  }

  if(res){
    return httpd_resp_send_500(req);
  }

  httpd_resp_set_hdr(req, "Access-Control-Allow-Origin", "*");
  return httpd_resp_send(req, NULL, 0);
}

void startCameraServer(){
  httpd_config_t config = HTTPD_DEFAULT_CONFIG();
  config.server_port = 80;
  httpd_uri_t index_uri = {
    .uri       = "/",
    .method    = HTTP_GET,
    .handler   = index_handler,
    .user_ctx  = NULL
  };

  httpd_uri_t cmd_uri = {
    .uri       = "/action",
    .method    = HTTP_GET,
    .handler   = cmd_handler,
    .user_ctx  = NULL
  };
  httpd_uri_t stream_uri = {
    .uri       = "/stream",
    .method    = HTTP_GET,
    .handler   = stream_handler,
    .user_ctx  = NULL
  };
  if (httpd_start(&camera_httpd, &config) == ESP_OK) {
    httpd_register_uri_handler(camera_httpd, &index_uri);
    httpd_register_uri_handler(camera_httpd, &cmd_uri);
  }
  config.server_port += 1;
  config.ctrl_port += 1;
  if (httpd_start(&stream_httpd, &config) == ESP_OK) {
    httpd_register_uri_handler(stream_httpd, &stream_uri);
  }
}

void setup() {
  WRITE_PERI_REG(RTC_CNTL_BROWN_OUT_REG, 0); //disable brownout detector
  
  pinMode(MOTOR_1_PIN_1, OUTPUT);
  pinMode(MOTOR_1_PIN_2, OUTPUT);
  pinMode(MOTOR_2_PIN_1, OUTPUT);
  pinMode(MOTOR_2_PIN_2, OUTPUT);
  
  Serial.begin(115200);
  Serial.setDebugOutput(false);
  
  camera_config_t config;
  config.ledc_channel = LEDC_CHANNEL_0;
  config.ledc_timer = LEDC_TIMER_0;
  config.pin_d0 = Y2_GPIO_NUM;
  config.pin_d1 = Y3_GPIO_NUM;
  config.pin_d2 = Y4_GPIO_NUM;
  config.pin_d3 = Y5_GPIO_NUM;
  config.pin_d4 = Y6_GPIO_NUM;
  config.pin_d5 = Y7_GPIO_NUM;
  config.pin_d6 = Y8_GPIO_NUM;
  config.pin_d7 = Y9_GPIO_NUM;
  config.pin_xclk = XCLK_GPIO_NUM;
  config.pin_pclk = PCLK_GPIO_NUM;
  config.pin_vsync = VSYNC_GPIO_NUM;
  config.pin_href = HREF_GPIO_NUM;
  config.pin_sscb_sda = SIOD_GPIO_NUM;
  config.pin_sscb_scl = SIOC_GPIO_NUM;
  config.pin_pwdn = PWDN_GPIO_NUM;
  config.pin_reset = RESET_GPIO_NUM;
  config.xclk_freq_hz = 20000000;
  config.pixel_format = PIXFORMAT_JPEG; 
  
  if(psramFound()){
    config.frame_size = FRAMESIZE_VGA;
    config.jpeg_quality = 10;
    config.fb_count = 2;
  } else {
    config.frame_size = FRAMESIZE_SVGA;
    config.jpeg_quality = 12;
    config.fb_count = 1;
  }
  
  // Camera init
  esp_err_t err = esp_camera_init(&config);
  if (err != ESP_OK) {
    Serial.printf("Camera init failed with error 0x%x", err);
    return;
  }
  // Wi-Fi connection
  WiFi.begin(ssid, password);
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }
  Serial.println("");
  Serial.println("WiFi connected");
  
  Serial.print("Camera Stream Ready! Go to: http://");
  Serial.println(WiFi.localIP());
  
  // Start streaming web server
  startCameraServer();
}

void loop() {
  
}

پس از انتقال قطعه کد بالا، باید مشخصات شبکه وای فای خود را در این قسمت وارد کنید:

const char* ssid = "REPLACE_WITH_YOUR_SSID";
const char* password = "REPLACE_WITH_YOUR_PASSWORD";

توضیحات کد:

بیایید نگاهی به قسمت های مختلف برنامه بیندازیم:

  • قسمت تعریف، پایه های ورودی و خروجی کنترلر موتور را مشخص می کند، هر موتور توسط دو پایه کنترل می شود.
#define MOTOR_1_PIN_1    14
#define MOTOR_1_PIN_2    15
#define MOTOR_2_PIN_1    13
#define MOTOR_2_PIN_2    12
  • در قطعه کد زیر یک وب سرور حاوی دکمه ها و یک صفحه ایجاد کرده ایم که با کلیک بر روی هر دکمه، یک درخواست HTML به URL مخصوص آن دکمه ارسال می شود.
<table>
      <tr><td colspan="3" align="center"><button class="button" onmousedown="toggleCheckbox('forward');" ontouchstart="toggleCheckbox('forward');" onmouseup="toggleCheckbox('stop');" ontouchend="toggleCheckbox('stop');">Forward</button></td></tr>
      <tr><td align="center"><button class="button" onmousedown="toggleCheckbox('left');" ontouchstart="toggleCheckbox('left');" onmouseup="toggleCheckbox('stop');" ontouchend="toggleCheckbox('stop');">Left</button></td><td align="center"><button class="button" onmousedown="toggleCheckbox('stop');" ontouchstart="toggleCheckbox('stop');">Stop</button></td><td align="center"><button class="button" onmousedown="toggleCheckbox('right');" ontouchstart="toggleCheckbox('right');" onmouseup="toggleCheckbox('stop');" ontouchend="toggleCheckbox('stop');">Right</button></td></tr>
      <tr><td colspan="3" align="center"><button class="button" onmousedown="toggleCheckbox('backward');" ontouchstart="toggleCheckbox('backward');" onmouseup="toggleCheckbox('stop');" ontouchend="toggleCheckbox('stop');">Backward</button></td></tr>                   
    </table>
   <script>
   function toggleCheckbox(x) {
     var xhr = new XMLHttpRequest();
     xhr.open("GET", "/action?go=" + x, true);
     xhr.send();
   }
   window.onload = document.getElementById("photo").src = window.location.href.slice(0, -1) + ":81/stream";
  </script>
  • URL درخواست برای هر دکمه در زیر فهرست شده است:

حرکت رو به جلو

<ESP_IP_ADDRESS>/action?go=forward

به عقب حرکت کنید

حرکت به سمت چپ

برو راست

خودت را متوقف کن

هنگامی که هر دکمه را رها می کنید، یک درخواست توقف نیز باید به /action?go=stop ارسال شود تا ربات تنها با فشار دادن یک دکمه حرکت کند.

مدیریت درخواست با دستورات شرطی

ما از دستورات شرطی برای پاسخ به درخواست های ارسال شده به URL های فهرست شده استفاده می کنیم:

if(!strcmp(variable, "forward")) {
    Serial.println("Forward");
    digitalWrite(MOTOR_1_PIN_1, 1);
    digitalWrite(MOTOR_1_PIN_2, 0);
    digitalWrite(MOTOR_2_PIN_1, 1);
    digitalWrite(MOTOR_2_PIN_2, 0);
 }
 else if(!strcmp(variable, "left")) {
   Serial.println("Left");
   digitalWrite(MOTOR_1_PIN_1, 0);
   digitalWrite(MOTOR_1_PIN_2, 1);
   digitalWrite(MOTOR_2_PIN_1, 1);
   digitalWrite(MOTOR_2_PIN_2, 0);
}
else if(!strcmp(variable, "right")) {
   Serial.println("Right");
   digitalWrite(MOTOR_1_PIN_1, 1);
   digitalWrite(MOTOR_1_PIN_2, 0);
   digitalWrite(MOTOR_2_PIN_1, 0);
   digitalWrite(MOTOR_2_PIN_2, 1);
}
else if(!strcmp(variable, "backward")) {
   Serial.println("Backward");
   digitalWrite(MOTOR_1_PIN_1, 0);
   digitalWrite(MOTOR_1_PIN_2, 1);
   digitalWrite(MOTOR_2_PIN_1, 0);
   digitalWrite(MOTOR_2_PIN_2, 1);
}
else if(!strcmp(variable, "stop")) {
   Serial.println("Stop");
   digitalWrite(MOTOR_1_PIN_1, 0);
   digitalWrite(MOTOR_1_PIN_2, 0);
   digitalWrite(MOTOR_2_PIN_1, 0);
   digitalWrite(MOTOR_2_PIN_2, 0);
}

پس از افزودن نام و رمز عبور شبکه وای فای، می توانیم برنامه را در ماژول ESP32-CAM آپلود کنیم. آپلود کد روی این برد با بردهای دیگری مانند آردوینو یا NodeMCU کمی متفاوت است، بنابراین بهتر است ابتدا درباره نحوه آپلود کد بحث کنید.

نحوه آپلود برنامه ماژول ESP32-CAM

با فرض نصب برنامه آردوینو در این مرحله پس از انجام اتصالات ذکر شده باید افزونه ESP32 را بر روی آردوینو IDE نصب کنیم برای این کار از تب File گزینه Preferences را باز می کنیم.

  • آدرس زیر را در بخش URLهای مدیر تابلوی اضافی اضافه کنید و با کلیک بر روی دکمه OK پنجره تنظیمات را ببندید.
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json

توجه: اگر قبلاً آدرس دیگری (مانند آدرس پلاگین ESP8266) را در این قسمت وارد کرده اید، کافی است یک کاما (,) بین آنها قرار دهید تا URL ها از هم جدا شوند. مثلا:

https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json, http://arduino.esp8266.com/stable/package_esp8266com_index.json
  • اکنون Boards Manager را از Tools > Board > Boards Manager باز کنید.
  • کلمه ESP32 را در کادر جستجو تایپ کنید و ESP32 by Espressif Systems را از آیتم های ظاهر شده نصب کنید.
  • پس از چند دقیقه (بسته به سرعت اینترنت شما) این بسته نصب می شود.

اکنون نرم افزار ما آماده است.

  • سپس برای آپلود برنامه ابتدا برد ESP32-CAM خود را از طریق ماژول مبدل USB به سریال (ماژول مبدل مدل FT232RL) به کامپیوتر متصل کنید. برای این منظور اتصالات خود را مطابق تصویر زیر انجام دهید:

مبدل FT232RL دارای جامپر است که به شما امکان می دهد بین 3.3 ولت و 5 ولت یکی را انتخاب کنید. مطمئن شوید که این جامپر روی 5 ولت تنظیم شده است.

توجه: ممکن است ترتیب پین ماژول مبدلی که استفاده می کنید با این تصویر متفاوت باشد، در این صورت جای نگرانی نیست و فقط باید به نام پین ها دقت کنید و آنها را به درستی وصل کنید.

توجه: لازم است هنگام آپلود برنامه، پین GPIO0 را به GND متصل کنید.

اتصالات مبدل به ماژول ESP32 در جدول زیر آمده است:

ESP32-CAM برنامه نویس FTDI
GND GND
5 ولت VCC (5 ولت)
U0R TX
U0T RX
GPIO 0 GND
  • در این مرحله از برنامه آردوینو، برد AI-Thinker ESP32-CAM را از قسمت Tools > Board انتخاب کنید و سپس از قسمت Tools > Port پورتی که مبدل USB به سریال به آن متصل است را انتخاب کنید.

اکنون می توانیم روی دکمه آپلود کلیک کنیم:

  • پس از کامپایل شدن برنامه، عبارت …Link در پنجره اشکال زدایی ظاهر می شود. در این مرحله باید دکمه ریست (RST) روی ماژول را یک بار فشار دهید.
  • پس از چند ثانیه، برنامه با موفقیت آپلود می شود:
  • حالا باید پین GPIO0 را از GND جدا کنیم و دوباره دکمه ریست روی برد را فشار دهیم تا برنامه شروع شود.

تست کردن برنامه

پس از آپلود برنامه، باید برنامه آپلود شده را تست کنید و مطمئن شوید که درست کار می کند، برای این کار مانیتور سریال را باز کنید تا آدرس IP ماژول را ببینید.

همانطور که در تصویر بالا مشاهده می کنید، آدرس IP برد ما 192.168.1.87 است. در این مرحله یک مرورگر را باز کنید و آدرس IP را در آن وارد کنید. اکنون باید وب سرور را ببینید:

روی دکمه ها کلیک کنید و با دیدن مانیتور سریال بررسی کنید که ارسال دستورات بدون تاخیر و وقفه انجام شود.

اگر همه دکمه ها به خوبی کار می کنند، زمان تکمیل مدار ماشین ربات فرا رسیده است.

تکمیل زنجیره و ایجاد یک ماشین ربات با استفاده از ESP32-CAM

پس از مونتاژ شاسی ربات می توانید طبق مراحل زیر از نمودار زیر برای اتصال مدار استفاده کنید.

ابتدا باید ESP32-CAM را همانطور که در تصویر نشان داده شده است به درایور موتور متصل کنید. برای ساخت مدار می توانید از یک برد مدار کوچک یا برد دارای سوراخ استفاده کنید.

جدول زیر نحوه اتصال ماژول ESP32-CAM و درایور موتور را نشان می دهد:

درایور موتور L298N ESP32-CAM
در 1 GPIO 14
در 2 GPIO 15
IN3 GPIO 13
IN4 GPIO 12

همانطور که می بینید، ما تمام این اتصالات را روی یک تخته پانچ کوچک انجام دادیم.

  • سپس موتورها را به پایانه های ماژول درایور موتور متصل کنید.

توجه: توصیه می شود همانطور که در شماتیک نشان داده شده است، یک خازن لنز 100 نانوفاراد را روی ترمینال های هر موتور لحیم کنید. این خازن افزایش ولتاژ را کاهش می دهد. همچنین می توانید در مسیر خروج سیم قرمز رنگ از ماژول پاوربانک یک کلید قرار دهید و با آن برق مدار را خاموش و روشن کنید.

  • در نهایت برق را از طریق ماژول پاوربانک وصل کنید. برای این کار باید یک سیم را با انتهای میکرو USB قطع کنید و از سیم های مثبت و منفی آن استفاده کنید. ما در این پروژه برق ESP32-CAM و موتورها را از یک منبع تامین کردیم و نتیجه خوب و مطلوبی گرفتیم.

توجه: همانطور که گفته شد، موتورها به جریان بسیار زیادی نیاز دارند، بنابراین اگر فکر می کنید ربات شما کند حرکت می کند، ممکن است لازم باشد از منبع تغذیه جداگانه برای موتورها استفاده کنید.

در نهایت، ربات ماشین ما به شکل زیر خواهد بود:

نمایش عملکرد ربات ماشین کنترل از راه دور

پس از اتمام سیم کشی و اتصال ربات، به مرورگر خود برگردید و آدرس IP را وارد کنید. اکنون باید بتوانید ربات ماشین خود را رانندگی کنید و تصویر را از دوربین مشاهده کنید. این وب سرور روی موبایل یا دسکتاپ به خوبی کار می کند.

توجه: شما فقط می توانید این وب سرور را در یک سیستم در یک زمان باز کنید.

نتیجه

در این آموزش یاد گرفتیم که چگونه یک ماشین روبات بسازیم و آن را از راه دور از طریق وب سرور کنترل کنیم. شما می توانید این پروژه را بهبود ببخشید، به عنوان مثال برنامه را تغییر دهید تا ESP32-CAM در حالت هات اسپات کار کند. بنابراین ربات در هر کجا که باشد می تواند یک شبکه وای فای ایجاد کند و هر وسیله ای که نزدیک آن باشد می تواند به شبکه متصل شود و ربات را کنترل کند.

در پایان امیدواریم با انجام این پروژه جالب به نتیجه دلخواه رسیده باشید اما اگر در حین یادگیری یا ساخت این ربات ماشین با مشکل یا سوالی مواجه شدید جای نگرانی نیست زیرا تیم متخصص RoboQ همیشه آماده پاسخگویی به سوالات عزیزان برای این منظور نظرات و سوالات خود را در قسمت نظرات همین صفحه با ما در میان بگذارید و در اسرع وقت پاسخ خود را دریافت کنید.

NVIDIA دسترسی به نرم افزار Isaac و در دسترس بودن پلتفرم Jetson را گسترش می دهد

NVIDIA امروز در GTC اعلام کرد که Omniverse Cloud بر روی Microsoft Azure میزبانی می شود و دسترسی به Isaac Sim، پلتفرم این شرکت برای توسعه و کنترل ربات های مبتنی بر هوش مصنوعی را افزایش می دهد.

این شرکت همچنین گفت که خط کاملی از ماژول‌های Jetson Orin اکنون در دسترس است که جهشی در عملکرد برای کاربردهای هوش مصنوعی لبه و روباتیک ارائه می‌کند.

جنسن هوانگ، بنیانگذار و مدیر عامل NVIDIA در جریان سخنرانی GTC گفت: “بزرگترین صنایع در جهان چیزهای فیزیکی می سازند، اما می خواهند آنها را به صورت دیجیتالی بسازند.” Omniverse یک پلت فرم دیجیتالی سازی صنعتی است که دیجیتال و فیزیکی را به هم متصل می کند.

Isaac Sim برای Omniverse Enterprise برای شبیه سازی مجازی

ساخت روبات‌ها در دنیای واقعی مستلزم ایجاد مجموعه‌های داده از ابتدا است که زمان‌بر و پرهزینه است و استقرار آن را کند می‌کند.

به همین دلیل است که توسعه‌دهندگان به تولید داده‌های مصنوعی (SDG)، مدل‌های هوش مصنوعی از پیش آموزش‌دیده، انتقال یادگیری و شبیه‌سازی رباتیک برای کاهش هزینه‌ها و سرعت بخشیدن به زمان اجرا روی آورده‌اند.

پلتفرم ابری Omniverse به عنوان یک سرویس که بر روی سرورهای NVIDIA OVX اجرا می شود،

قابلیت های پیشرفته را در همه جا در دست توسعه دهندگان Azure قرار می دهد. آی تی

شرکت‌ها را قادر می‌سازد تا حجم‌های کاری شبیه‌سازی رباتیک مانند SDG را مقیاس‌بندی کنند و یکپارچه‌سازی مداوم و تحویل مداوم را برای تیم‌های devops فراهم می‌کند تا در حین کار با Isaac Sim در یک مخزن مشترک روی تغییرات کد کار کنند.

Isaac Sim یک برنامه شبیه‌سازی رباتیک و ابزار SDG است که محیط‌های مجازی واقعی واقعی و فیزیکی را هدایت می‌کند. Isaac Sim که توسط پلتفرم NVIDIA Omniverse پشتیبانی می‌شود، تیم‌های جهانی را قادر می‌سازد تا از راه دور برای ساخت، آموزش، شبیه‌سازی، اعتبارسنجی و استقرار روبات‌ها با یکدیگر همکاری کنند.

در دسترس قرار دادن Isaac Sim در فضای ابری به تیم‌ها اجازه می‌دهد تا با دسترسی به جدیدترین ابزارهای روباتیک و کیت‌های توسعه نرم‌افزار، کارآمدتر با هم کار کنند. Omniverse Cloud علاوه بر روش‌های مبتنی بر ابر موجود برای استفاده از Isaac Sim برای کانتینرهای خود مدیریتی یا استفاده از آن در ایستگاه‌های کاری مجازی یا سرویس‌های کاملاً مدیریت‌شده مانند AWS RoboMaker، گزینه‌های ابری بیشتری را با Azure به شرکت‌ها می‌دهد.

و با دسترسی به Omniverse Replicator، موتور SDG در Isaac Sim، مهندسان می‌توانند مجموعه داده‌های مصنوعی با کیفیت تولید را برای آموزش مدل‌های ادراکی یادگیری عمیق قوی ایجاد کنند.

آمازون از Omniverse برای خودکارسازی، بهینه‌سازی و برنامه‌ریزی انبارهای مستقل خود با شبیه‌سازی‌های دوگانه دیجیتال قبل از پیاده‌سازی در دنیای واقعی استفاده می‌کند. با اسحاق سیم، آمازون رباتیک همچنین قابلیت‌های پروتئوس، آخرین ربات متحرک خودران (AMR) را بهبود می‌بخشد. این به غول خرده‌فروشی آنلاین کمک می‌کند هزاران سفارش را به روشی مقرون به صرفه و مقرون به صرفه انجام دهد.

گروه BMW با همکاری شرکت اتوماسیون idealworks، از Isaac Sim در Omniverse برای تولید داده های مصنوعی و اجرای سناریوهایی برای آزمایش و آموزش AMR و روبات های کارخانه استفاده کرد.

NVIDIA در حال توسعه طیف کامل ابزارهای هوش مصنوعی – از محاسبات ابری با شبیه‌سازی مانند Isaac Sim تا لبه با پلتفرم Jetson – است که پذیرش رباتیک در صنایع را تسریع می‌کند.

Jetson Orin برای هوش مصنوعی Edge و روباتیک کارآمد و با کارایی بالا

ماژول‌های مبتنی بر جتسون اورین NVIDIA اکنون در حال تولید هستند تا از طیف کاملی از برنامه‌های کاربردی رباتیک و هوش مصنوعی لبه‌ای پشتیبانی کنند. این شامل Jetson Orin Nano می‌شود – که تا 40 تریلیون عملیات در ثانیه (TOPS) عملکرد هوش مصنوعی را در کوچک‌ترین ماژول Jetson ارائه می‌کند – به Jetson AGX Orin، که 275 TOPS را برای ماشین‌های خودمختار پیشرفته ارائه می‌کند.

کیت توسعه‌دهنده جدید Jetson Orin Nano عملکردی 80 برابری نسبت به نسل قبلی Jetson Nano ارائه می‌کند و به توسعه‌دهندگان اجازه می‌دهد مدل‌های پیشرفته ترانسفورماتور و رباتیک را کنترل کنند. و با 50 برابر کارایی بیشتر در هر وات، توسعه دهندگانی که با ماژول‌های Jetson Orin Nano شروع می‌کنند، می‌توانند ربات‌های کم‌مصرف با هوش مصنوعی، پهپادهای هوشمند، سیستم‌های بینایی هوشمند و موارد دیگر را بسازند و به کار گیرند.

فریمورک‌های برنامه‌ای خاص مانند NVIDIA Isaac ROS و DeepStream که بر روی پلتفرم Jetson اجرا می‌شوند، به شدت با چارچوب‌های مبتنی بر ابر مانند Isaac Sim و NVIDIA Metropolis ادغام شده‌اند. و استفاده از جدیدترین NVIDIA TAO Toolkit برای تنظیم دقیق مدل‌های هوش مصنوعی از پیش آموزش‌دیده از کاتالوگ NVIDIA NGC، زمان استقرار را برای توسعه‌دهندگان کاهش می‌دهد.

بیش از 1 میلیون توسعه‌دهنده و بیش از 6000 مشتری پلتفرم NVIDIA Jetson را انتخاب کرده‌اند، از جمله Amazon Web Services، Canon، Cisco، Hyundai Robotics، JD.com، John Deere، Komatsu، Medtronic، Meituan، Microsoft Azure، Teradyne و TK Elevator.

شرکت‌هایی که ماژول‌های جدید مبتنی بر Orin را پذیرفته‌اند عبارتند از Hyundai Doosan Infracore، Robotis، Seyeon Tech، Skydio، Trimble، Verdant و Zipline.

بیش از 70 شریک اکوسیستم Jetson راه حل های مبتنی بر Orin را با طیف گسترده ای از پشتیبانی از سخت افزار، نرم افزار هوش مصنوعی و خدمات طراحی اپلیکیشن تا حسگرها، اتصال و ابزارهای توسعه ارائه می دهند.

طیف کاملی از ماژول های تولید مبتنی بر Jetson Orin اکنون در دسترس است. کیت توسعه‌دهنده Nano Jetson Orin در ماه آوریل ارسال خواهد شد.

CTA: بیشتر بدانید NVIDIA Isaac Sim، جتسون اورین، Omniverse Enterprise و کلان شهر.

NVIDIA از ۱ میلیون توسعه دهنده Jetson در سراسر جهان در GTC تجلیل می کند

اکنون یک میلیون توسعه‌دهنده در سراسر جهان از پلتفرم NVIDIA Jetson برای هوش مصنوعی لبه و روباتیک برای ساخت فناوری‌های نوآورانه استفاده می‌کنند. علاوه بر این، بیش از 6000 شرکت – که یک سوم آنها را استارت آپ ها تشکیل می دهند – این پلتفرم را با محصولات خود یکپارچه کرده اند.

این نقاط عطف و موارد دیگر در طول روزهای توسعه‌دهنده هوش مصنوعی NVIDIA Jetson Edge در GTC، یک کنفرانس جهانی درباره عصر هوش مصنوعی و متاورس که به‌صورت آنلاین از 20 تا 23 مارس برگزار می‌شود، جشن گرفته می‌شود.

برای کسب اطلاعات بیشتر در مورد پلتفرم Jetson و شروع به توسعه نسل بعدی هوش مصنوعی و روباتیک پیشرفته، رایگان ثبت نام کنید.

یک در میلیون

کریس کرسی مستقر در آتلانتا، ذهن پشت کانال محبوب YouTube Kersey Fabrications، یکی از توسعه دهندگان است که از پلتفرم NVIDIA Jetson برای نوآوری های تکنولوژیکی یک در میلیون خود استفاده می کند.

او یک کلاه ایمنی کاملاً کاربردی Iron Man ایجاد کرد که می‌توانست مستقیماً از فیلم‌های مارول کامیکس ساخته شود. این دستگاه از کیت توسعه‌دهنده Jetson Xavier NX 8 گیگابایتی NVIDIA به عنوان هسته Arc Reactor استفاده می‌کند و نمایشگر هدآپ آن را تقویت می‌کند – یک صفحه نمایش شفاف که اطلاعات را به هر کجا که کاربر نگاه می‌کند ارائه می‌کند.

در مدت کمی بیش از دو سال، کرسی این کلاه ایمنی پوشیدنی را از ابتدا ساخت، با قابلیت تشخیص اشیا و سایر حسگرهای روی صفحه که باعث افتخار تونی استارک می‌شود.

کرسی گفت: “طراحی نرم افزار بیش از نیمی از کار روی پروژه بود و برای من این هیجان انگیزترین و جالب ترین بخش است.” “نرم افزار تمام اجزای سخت افزاری جداگانه را می گیرد و آنها را به یک سیستم قابل توجه تبدیل می کند.”

برای شروع، کرسی به GitHub مراجعه کرد، جایی که “Hello AI World” را پیدا کرد، راهنمای پیاده‌سازی شبکه‌های یادگیری عمیق و دید اولیه با NVIDIA TensorRT SDK و NVIDIA Jetson. او سپس یک کد بسته بندی نوشت تا پروژه خود را پیوند دهد.

تماشا کنید که کرسی پروژه مرد آهنی خود را از ابتدا تا انتها مستند می کند:

این کلاه ایمنی پرینت سه بعدی فقط شروعی برای کرسی است که قصد دارد در اواخر امسال یک لباس کامل مرد آهنی بسازد. او قصد دارد کل کد پروژه را منبع باز کند، بنابراین هرکسی که آرزوی تبدیل شدن به یک ابرقهرمان را دارد می تواند آن را برای خودش امتحان کند.

روزهای توسعه دهنده هوش مصنوعی Jetson Edge در GTC

توسعه‌دهندگانی مانند Kersey می‌توانند برای روزهای توسعه‌دهنده هوش مصنوعی Jetson Edge رایگان در GTC ثبت نام کنند، که در آن کارشناسانی از NVIDIA حضور دارند که آخرین سخت‌افزار، نرم‌افزار و شرکای Jetson را پوشش می‌دهند. جلسات شامل:

  • با پلتفرم NVIDIA Jetson Orin، هوش مصنوعی و روباتیک لبه را به سطح بعدی ببرید
  • شتاب Edge AI با نرم افزار NVIDIA Jetson
  • با استفاده از ابزارهای توسعه دهنده NVIDIA Nsight، بیشترین بهره را از Jetson Orin خود ببرید
  • با اکوسیستم NVIDIA Jetson محصولات خود را سریعتر به بازار عرضه کنید
  • یک معماری پیچیده NVIDIA Isaac ROS طراحی کنید

علاوه بر این، یک جلسه Connect with Experts با تمرکز بر پلتفرم Jetson برگزار خواهد شد که یک پرسش و پاسخ عمیق را با مهندسان پلتفرم جاسازی شده از NVIDIA در روز سه‌شنبه، 21 مارس ساعت 12:00 PT ارائه می‌کند. این جلسه تعاملی فرصتی منحصر به فرد برای ملاقات، به صورت گروهی یا فردی، با ذهنیات پشت محصولات NVIDIA و دریافت پاسخ سوالات خود ارائه می دهد. مکان ها محدود است و اولویت با اولویت است.

جلسات اضافی بر اساس دسته

جلسات GTC همچنین رباتیک، تجزیه و تحلیل ویدیوی هوشمند و فضاهای هوشمند را پوشش خواهند داد. در زیر تعدادی از بهترین جلسات در این دسته بندی ها آورده شده است.

رباتیک:

Computer Vision و AI Video Analytics:

شهرها و فضاهای هوشمند:

جدیدترین ها را ببینید پروژه های جامعه جتسون برای ایده ها برای تکرار یا الهام گرفتن.

جدیدترین ماژول‌ها و کیت‌های توسعه‌دهنده Jetson را از اینجا دریافت کنید فروشگاه NVIDIA Jetson.

و ثبت نام کنید برنامه توسعه دهنده NVIDIA برای ارتباط با توسعه دهندگان Jetson در سراسر جهان و دسترسی به جدیدترین نرم افزارها و SDK ها، از جمله NVIDIA JetPack.

سوئد موتور هوش مصنوعی خود را به نام Berzelius توربوشارژ می کند

سوئد در حال تجهیز ابررایانه خود به هوش مصنوعی برای سفر به لبه برتر یادگیری ماشینی، روباتیک و مراقبت های بهداشتی است.

نمی توانستم راهنمایی بهتر از آندرس ینرمن (بالا) درخواست کنم. کت و شلوار آبی مشخص، عینک مشکی و صدای ملایم او به عنوان استتار آرام برای یک روح پیشگام عمل می کند.

در ابتدا او علاقه عمیقی به فضا نشان داد، اما حرفه او مسیر دیگری را در پیش گرفت. او اولین شبکه مراکز ابرکامپیوتری کشور را تأسیس کرد و به ایجاد فناوری های تجسم علمی مورد استفاده در بیمارستان ها و موزه های سراسر جهان ادامه داد.

امروز، او بزرگترین تلاش تحقیقاتی سوئد، WASP – برنامه والنبرگ برای هوش مصنوعی، سیستم‌های خودمختار و نرم‌افزار – را با تمرکز بر نوآوری هوش مصنوعی رهبری می‌کند.

تصویر بزرگ

استاد دانشگاه لینکوپینگ گفت: امسال سالی است که مردم توجه خود را به چالش های پایداری که ما به عنوان یک سیاره با آن روبرو هستیم معطوف می کنند. بدون پیشرفت در هوش مصنوعی و سایر نوآوری ها، آینده پایداری نخواهیم داشت.

برای تقویت تلاش‌ها برای حفاظت از محیط زیست و موارد دیگر، سوئد ابررایانه Berzelius خود را ارتقا خواهد داد. بر اساس NVIDIA DGX SuperPOD، تقریباً نیمی از عملکرد هوش مصنوعی را ارائه می دهد و آن را در میان 100 ابر رایانه سریع هوش مصنوعی در جهان قرار می دهد.

او گفت: «ماشینی مانند برزلیوس نه تنها برای نتایجی که ارائه می‌کند، بلکه برای روشی که تخصص در سوئد را کاتالیز می‌کند، اساسی است. ما یک کشور دانش بنیان هستیم، بنابراین محققان و شرکت‌های ما برای رقابت نیاز به دسترسی به آخرین فناوری‌ها دارند.»

هوش مصنوعی زبان سوئدی را یاد می گیرد

در ماه ژوئن، این سیستم GPT-SW3 را آموزش داد، خانواده‌ای از مدل‌های زبانی بزرگ که قادر به نوشتن گفتار یا پاسخ دادن به سؤالات به زبان سوئدی بودند.

امروزه نسخه قدرتمندتر دارای 20 میلیارد پارامتر است که معیاری محبوب برای سنجش هوش شبکه عصبی است. می تواند به توسعه دهندگان کمک کند تا نرم افزار بنویسند و کارهای پیچیده دیگر را انجام دهند.

در دراز مدت، محققان قصد دارند نسخه ای با 175 میلیارد پارامتر را آموزش دهند که به زبان های اسکاندیناوی مانند دانمارکی و نروژی نیز مسلط باشد.

یکی از بزرگترین بانک های سوئد در حال بررسی استفاده از آخرین نوع GPT-SW3 برای چت بات ها و سایر برنامه ها است.

تقویت حافظه

برای ساخت AIهای بزرگ، Berzelius 34 سیستم NVIDIA DGX A100 را به خوشه 60 تایی خود که SuperPOD را تشکیل می دهند اضافه می کند. دستگاه های جدید دارای پردازنده گرافیکی با 80 گیگابایت حافظه خواهند بود.

Ynnerman با Berzelius در راه اندازی سیستم در مارس 2021.

Innerman گفت: “داشتن گره های واقعا ضخیم با حافظه زیاد برای برخی از این مدل ها مهم است.” او افزود که Atos، یکپارچه‌کننده سیستم‌ها، «یک سفر بسیار آرام را در راه‌اندازی کل فرآیند» فراهم کرد.

جستجو برای درمان سرطان

در مراقبت های بهداشتی، یک برنامه علوم زیستی مبتنی بر داده که توسط بنیاد والنبرگ تامین مالی می شود، یکی از کاربران اصلی Berzelius خواهد بود. این برنامه 10 دانشگاه را در بر می گیرد و در میان سایر برنامه های کاربردی، از هوش مصنوعی برای درک تاخوردگی پروتئین که برای درک بیماری هایی مانند سرطان اساسی است، استفاده خواهد کرد.

برخی دیگر از Berzelius برای بهبود تشخیص سلول های سرطانی و هدایت انبوه داده ها در ژنوم انسان استفاده خواهند کرد.

برخی از محققان در حال بررسی ابزارهایی مانند NVIDIA Omniverse Avatar Cloud Engine و NVIDIA BotMaker برای ایجاد بیماران متحرک هستند. با پشتیبانی از GPT-SW3، آنها می توانند به پزشکان در تمرین مهارت های پزشکی از راه دور کمک کنند.

ربات ها در گرانش صفر

کار سوئد در تشخیص تصویر و ویدیو از Berzelius تقویت خواهد شد. چنین الگوریتم هایی کار سیستم های مستقل مورد استفاده در کارخانه ها و انبارهای مدرن را سرعت می بخشد.

یک پروژه به بررسی نحوه عملکرد سیستم های خودمختار در فضا و زیر آب می پردازد. این موضوع نزدیک به قلب یکی از WASP های اخیر، کاشف کریستر فوگلسانگ است که در سال 1992 به عنوان اولین فضانورد سوئد انتخاب شد.

فوگلسانگ در سال‌های 2006 و 2008 به ایستگاه فضایی بین‌المللی رفت. بعداً به‌عنوان استاد فیزیک در مؤسسه سلطنتی فناوری سوئد، با Innermann در برنامه‌های زنده در مورد زندگی در فضا که در تئاتر WISDOME Dome مرکز برای تجسم C Ynnerman تأسیس شد، همکاری کرد. و کارگردانی می کند.

به لطف تخصص او در تجسم، اینرمن با کنایه گفت: “من می توانم هر زمان که بخواهم به مریخ بروم.”

او بنیانگذار و مدیر عامل NVIDIA، جنسن هوانگ و مارکوس والنبرگ – فرزند خانواده صنعتی پیشرو سوئد – را به توری در فضای بیرونی در گنبد به نشانه ارتقای Berzelius برد. به لطف استفاده از 12 پردازنده گرافیکی NVIDIA Quadro RTX 8000، این گنبد می تواند سطح مریخ را با وضوح 8K با نرخ 120 فریم در ثانیه نمایش دهد.

الهام بخش نسل بعدی

الگوریتم های ینرمن میلیون ها نفر را که تجسم مومیایی های مصری را در موزه بریتانیا دیده اند، تحت تأثیر قرار داده است.

او گفت: «این باعث می‌شود به برخی از مقالات تحقیقاتی‌ام حتی بیشتر افتخار کنم، زیرا بسیاری از آنها جوانانی هستند که می‌توانیم با عشق به علم و فناوری از آنها الهام بگیریم.

اشتیاق به علم و فناوری بیش از 400 دانشجوی دکتری فعال را به خود جذب کرده است. متقاضیان تا کنون برای WASP، که در مسیر رسیدن به هدف 600 درجه تا سال 2031 است.

اما حتی یک متخصص تجسم نمی تواند همه جا باشد. بنابراین پروژه خانه Ynnerman از هوش مصنوعی برای ایجاد یک راهنمای موزه زنده و مجازی استفاده خواهد کرد.

او گفت: «من فکر می‌کنم که می‌توانیم به افراد بیشتری تجربه «وای» بدهیم – من وقتی در حال حرکت در جهان هستم کمک خلبان می‌خواهم.

محاسبات هوش مصنوعی چیست؟ | وبلاگ های انویدیا

یک قطب نما، یک سکسستان، یک خط کش لگاریتمی و یک کامپیوتر. ابزارهای ریاضی تاریخ پیشرفت بشر را نشان می دهند.

آنها تجارت و ناوبری اقیانوس و همچنین درک پیشرفته و کیفیت زندگی را فعال کرده اند.

آخرین ابزار برای پیشبرد علم و صنعت، محاسبات هوش مصنوعی است.

AI Computing تعریف شده است

محاسبات هوش مصنوعی فرآیند فشرده ریاضی محاسبه الگوریتم‌های یادگیری ماشینی است که معمولاً با استفاده از سیستم‌ها و نرم‌افزارهای شتاب‌دار انجام می‌شود. می‌تواند بینش‌های تازه‌ای را از مجموعه داده‌های عظیم استخراج کند و در طول مسیر مهارت‌های جدیدی را بیاموزد.

این متحول‌کننده‌ترین فناوری زمان ما است، زیرا ما در عصر داده‌محور زندگی می‌کنیم و محاسبات هوش مصنوعی می‌تواند الگوهایی را بیابد که هیچ انسانی نمی‌توانست.

به عنوان مثال، امریکن اکسپرس از رایانه های هوش مصنوعی برای کشف تقلب در میلیاردها تراکنش سالانه کارت اعتباری استفاده می کند. پزشکان از آن برای تشخیص تومورها استفاده می‌کنند و ناهنجاری‌های کوچکی را در کوه‌هایی از تصاویر پزشکی پیدا می‌کنند.

سه مرحله برای محاسبات هوش مصنوعی

قبل از اینکه به موارد متعدد استفاده از محاسبات هوش مصنوعی بپردازیم، بیایید نحوه عملکرد آن را بررسی کنیم.

ابتدا، کاربران، اغلب دانشمندان داده، مجموعه داده ها را آماده و آماده می کنند، مرحله ای به نام استخراج/تبدیل/بار یا ETL. اکنون می‌توان این کار را روی پردازنده‌های گرافیکی NVIDIA با Apache Spark 3.0، یکی از محبوب‌ترین موتورهای منبع باز برای استخراج داده‌های بزرگ، تسریع کرد.

ثانیاً، دانشمندان داده مدل‌های هوش مصنوعی را انتخاب یا طراحی می‌کنند که به بهترین وجه با برنامه‌های آنها مطابقت دارد.

برخی از شرکت‌ها مدل‌های خود را از پایه طراحی و آموزش می‌دهند زیرا در زمینه جدیدی پیشگام هستند یا به دنبال مزیت رقابتی هستند. این فرآیند به تخصص و احتمالاً یک ابررایانه هوش مصنوعی نیاز دارد، قابلیت هایی که NVIDIA ارائه می دهد.

عملیات یادگیری ماشین (MLOps) سه مرحله اصلی محاسبات هوش مصنوعی – ETL (ردیف بالا)، آموزش (پایین سمت راست) و استنتاج (پایین سمت چپ) را با جزئیات دقیق‌تری توصیف می‌کند.

بسیاری از شرکت‌ها مدل‌های از پیش آموزش‌دیده‌شده هوش مصنوعی را انتخاب می‌کنند که می‌توانند در صورت نیاز برای برنامه‌های خود سفارشی کنند. NVIDIA ده ها مدل و ابزار از پیش آموزش دیده را برای سفارشی سازی آنها در NGC، پورتالی برای نرم افزار، خدمات و پشتیبانی، ارائه می دهد.

سوم، شرکت ها داده های خود را از طریق مدل های خود غربال می کنند. این مرحله کلیدی، به اصطلاح استنتاججایی است که هوش مصنوعی بینش های مفیدی را ارائه می دهد.

این فرآیند سه مرحله‌ای مستلزم کار سخت است، اما کمکی در دسترس است تا هر کسی بتواند از محاسبات هوش مصنوعی استفاده کند.

به عنوان مثال، NVIDIA TAO Toolkit می‌تواند سه مرحله را با استفاده از یادگیری انتقال، راهی برای تطبیق یک مدل هوش مصنوعی موجود برای یک برنامه جدید بدون نیاز به مجموعه داده‌های بزرگ، در یک مرحله جمع کند. علاوه بر این، NVIDIA LaunchPad به کاربران آموزش‌های عملی در پیاده‌سازی مدل‌ها برای طیف گسترده‌ای از موارد استفاده می‌دهد.

داخل یک مدل هوش مصنوعی

مدل‌های هوش مصنوعی شبکه‌های عصبی نامیده می‌شوند زیرا از اتصالات شبکه‌ای در مغز انسان الهام گرفته‌اند.

اگر یکی از این مدل‌های هوش مصنوعی را باز کنید، ممکن است شبیه یک لازانیا ریاضی باشد که از لایه‌هایی از معادلات جبری خطی تشکیل شده است. یکی از محبوب ترین اشکال هوش مصنوعی، یادگیری عمیق نامیده می شود زیرا از لایه های زیادی استفاده می کند.

نمونه ای از یک مدل یادگیری عمیق که یک تصویر را شناسایی می کند. از مقاله ای در مورد یادگیری عمیق برای آکادمی ملی علوم ایالات متحده. اعتبار تصویر: لوسی ردینگ-ایکاندا (هنرمند).

اگر بزرگنمایی کنید، خواهید دید که هر لایه از یک دسته معادله تشکیل شده است. هر کدام نشان دهنده احتمال مرتبط بودن یک داده با دیگری است.

محاسبات هوش مصنوعی هر مجموعه ای از معادلات را در هر لایه با هم ضرب می کنند تا الگوها را بیابند. این یک کار بزرگ است که به بسیاری از پردازنده های موازی نیاز دارد که مقادیر زیادی داده را در شبکه های رایانه ای سریع به اشتراک بگذارند.

محاسبات GPU با هوش مصنوعی ملاقات می کند

GPUها موتورهای واقعی محاسبات هوش مصنوعی هستند.

انویدیا اولین GPU را در سال 1999 برای ارائه تصاویر سه بعدی برای بازی های ویدیویی معرفی کرد، کاری که به محاسبات موازی انبوه نیاز داشت.

محاسبات GPU به زودی برای استفاده در سرورهای گرافیک فیلم پرفروش گسترش یافت. دانشمندان و محققان پردازنده‌های گرافیکی را در بزرگترین ابررایانه‌های جهان قرار داده‌اند تا همه چیز از شیمی مولکول‌های کوچک گرفته تا اخترفیزیک کهکشان‌های دور را مطالعه کنند.

زمانی که محاسبات هوش مصنوعی بیش از یک دهه پیش ظهور کرد، محققان به سرعت از پلتفرم پردازش موازی قابل برنامه ریزی NVIDIA استقبال کردند. ویدیوی زیر این تاریخچه مختصر GPU را جشن می گیرد.

تاریخچه محاسبات هوش مصنوعی

ایده هوش مصنوعی حداقل به آلن تورینگ، ریاضیدان بریتانیایی که به شکستن پیام های رمزگذاری شده در طول جنگ جهانی دوم کمک کرد، برمی گردد.

تورینگ در یک سخنرانی در سال 1947 در لندن گفت: “آنچه ما می خواهیم ماشینی است که بتواند از تجربه بیاموزد.”

آلن تورینگ

انویدیا برای شناخت بینش او، یکی از معماری‌های محاسباتی خود را به نام او نامگذاری کرد.

دید تورینگ در سال 2012 به واقعیت تبدیل شد، زمانی که محققان مدل‌های هوش مصنوعی را توسعه دادند که می‌توانست تصاویر را سریع‌تر و دقیق‌تر از انسان تشخیص دهد. نتایج مسابقه ImageNet همچنین پیشرفت در بینایی کامپیوتر را بسیار تسریع کرده است.

امروزه، شرکت‌هایی مانند Landing AI که توسط اندرو انگ، دانشمند یادگیری ماشینی تأسیس شده‌اند، از هوش مصنوعی و بینایی رایانه‌ای برای کارآمدتر ساختن تولید استفاده می‌کنند. و هوش مصنوعی بینایی انسان را به ورزش، شهرهای هوشمند و موارد دیگر می‌آورد.

AI Computing هوش مصنوعی محاوره ای را راه اندازی کرد

محاسبات هوش مصنوعی از زمان اختراع مدل ترانسفورماتور در سال 2017، پیشرفت های زیادی در پردازش زبان طبیعی داشته است. این روش اولین تکنیک یادگیری ماشینی به نام “توجه” را ارائه کرد که می تواند زمینه را در داده های متوالی مانند متن و گفتار ثبت کند.

امروزه هوش مصنوعی مکالمه ای فراگیر شده است. جملاتی را که کاربران در قسمت های جستجو وارد می کنند تجزیه و تحلیل می کند. در حین رانندگی پیام‌های متنی را می‌خواند و به شما امکان می‌دهد پاسخ‌ها را دیکته کنید.

این الگوهای بزرگ زبان همچنین کاربردهایی در کشف دارو، ترجمه، ربات‌های گفتگو، توسعه نرم‌افزار، اتوماسیون مرکز تماس و موارد دیگر پیدا می‌کنند.

هوش مصنوعی + گرافیک جهان های سه بعدی ایجاد کنید

کاربران در بسیاری از مناطق، اغلب غیرمنتظره، قدرت محاسبات هوش مصنوعی را احساس می کنند.

جدیدترین بازی‌های ویدیویی به لطف ردیابی پرتوهای بلادرنگ و NVIDIA DLSS که از هوش مصنوعی برای ارائه گیم‌پلی فوق‌العاده روان بر روی پلتفرم GeForce RTX استفاده می‌کند، به سطوح جدیدی از واقع‌گرایی دست می‌یابند.

این تنها آغاز است. حوزه نوظهور گرافیک عصبی، ایجاد جهان های مجازی را برای پر کردن فراجهان، تکامل سه بعدی اینترنت، سرعت می بخشد.

گرافیک عصبی، طراحی و توسعه جهان های مجازی را برای پر کردن دنیای متاورز، یعنی اینترنت سه بعدی، سرعت می بخشد.

برای شروع این کار، NVIDIA چندین ابزار گرافیکی عصبی را در ماه اوت منتشر کرد.

از Cases برای محاسبات هوش مصنوعی استفاده کنید

ماشین ها، کارخانه ها و انبارها

خودروسازان از محاسبات هوش مصنوعی برای ارائه رانندگی نرم تر و ایمن تر و ارائه گزینه های اطلاعات سرگرمی هوشمند برای مسافران استقبال می کنند.

مرسدس بنز در حال همکاری با NVIDIA برای توسعه وسایل نقلیه نرم افزاری تعریف شده است. پارک‌های آینده آن قابلیت‌های رانندگی هوشمند و خودکاری را ارائه می‌کنند که توسط یک کامپیوتر متمرکز NVIDIA DRIVE Orin پشتیبانی می‌شود. سیستم‌ها در مرکز داده با استفاده از نرم‌افزار DRIVE Sim که بر روی NVIDIA Omniverse ساخته شده است، آزمایش و اعتبارسنجی می‌شوند تا اطمینان حاصل شود که می‌توانند با خیال راحت همه انواع سناریوها را مدیریت کنند.

در نمایشگاه CES، این خودروساز اعلام کرد که از Omniverse برای طراحی و برنامه ریزی تاسیسات تولید و مونتاژ در سایت های خود در سراسر جهان نیز استفاده خواهد کرد.

گروه بی‌ام‌و همچنین در میان شرکت‌هایی است که کارخانه‌های دوقلو دیجیتالی با هوش مصنوعی را در NVIDIA Omniverse ایجاد می‌کنند و کارخانه‌ها را کارآمدتر می‌کنند. این رویکردی است که توسط غول های مصرف کننده مانند PepsiCo برای مراکز لجستیکی خود نیز اتخاذ شده است، همانطور که در ویدیوی زیر نشان داده شده است.

در کارخانه‌ها و انبارها، روبات‌های مستقل کارایی تولید و تدارکات را افزایش می‌دهند. بسیاری از آنها از پلتفرم هوش مصنوعی NVIDIA Jetson edge برخوردار هستند و با هوش مصنوعی در شبیه سازی و دوقلوهای دیجیتال با استفاده از NVIDIA Isaac Sim آموزش دیده اند.

در سال 2022، حتی تراکتورها و ماشین های چمن زنی با هوش مصنوعی مستقل خواهند شد.

در ماه دسامبر، Monarch Tractor، یک استارت آپ مستقر در لیورمور، کالیفرنیا، یک وسیله نقلیه الکتریکی با هوش مصنوعی راه اندازی کرد تا اتوماسیون را به کشاورزی برساند. در ماه مه، Scythe مستقر در بولدر، کلرادو، M.52 خود را معرفی کرد، یک ماشین چمن‌زنی برقی خودکار که دارای هشت دوربین و بیش از دوازده حسگر است.

ایمن سازی شبکه ها، توالی یابی ژن

تعداد و تنوع موارد استفاده برای محاسبات هوش مصنوعی خیره کننده است.

نرم افزار امنیت سایبری با تکنیک های مبتنی بر هوش مصنوعی مانند اثر انگشت دیجیتال، فیشینگ و سایر تهدیدات شبکه را سریعتر تشخیص می دهد.

در بخش مراقبت های بهداشتی، محققان در ژانویه 2022 با توالی یابی کل ژنوم در کمتر از هشت ساعت به لطف محاسبات هوش مصنوعی، رکورد شکستند. کار آنها (که در ویدیوی زیر توضیح داده شده است) می تواند منجر به درمان بیماری های ژنتیکی نادر شود.

محاسبات هوش مصنوعی در بانک ها، مغازه ها و دفاتر پست کار می کند. همچنین در شبکه های مخابراتی، حمل و نقل و انرژی استفاده می شود.

به عنوان مثال، ویدیوی زیر نشان می دهد که چگونه زیمنس گیمسا از مدل های هوش مصنوعی برای شبیه سازی نیروگاه های بادی و افزایش تولید انرژی استفاده می کند.

همانطور که تکنیک‌های محاسباتی هوش مصنوعی امروزی کاربردهای جدیدی پیدا می‌کنند، محققان در حال ابداع روش‌های جدیدتر و قدرتمندتر هستند.

دسته قدرتمند دیگری از شبکه‌های عصبی، مدل‌های انتشار، در سال 2022 محبوب شدند زیرا می‌توانستند توصیفات متنی را به تصاویر متقاعدکننده تبدیل کنند. محققان انتظار دارند که این مدل‌ها در بسیاری از برنامه‌ها اعمال شوند و افق محاسبات هوش مصنوعی را بیشتر گسترش دهند.

انویدیا به‌روزرسانی‌های اصلی اسحاق سیم را اعلام می‌کند

تقاضا برای ربات های هوشمند در حال افزایش است زیرا صنایع بیشتری از اتوماسیون برای رسیدگی به چالش های زنجیره تامین و کمبود نیروی کار استقبال می کنند.

بر اساس تحقیقات ABI، پایه نصب شده ربات های صنعتی و تجاری بیش از 6.4 برابر خواهد شد – از 3.1 میلیون در سال 2020 به 20 میلیون در سال 2030. توسعه، اعتبارسنجی و استقرار این ربات‌های جدید مبتنی بر هوش مصنوعی نیازمند فناوری شبیه‌سازی است که آن‌ها را در سناریوهای واقعی قرار می‌دهد.

در نمایشگاه CES، انویدیا به‌روزرسانی‌های بزرگی را برای Isaac Sim، ابزار شبیه‌سازی روباتیک خود برای ساخت و آزمایش ربات‌های مجازی در محیط‌های واقعی در شرایط عملیاتی مختلف، اعلام کرد. Isaac Sim که اکنون از فضای ابری در دسترس است، بر روی NVIDIA Omniverse ساخته شده است، پلتفرمی برای ایجاد و مدیریت برنامه های کاربردی متاورس.

قابلیت های قدرتمند و مبتنی بر هوش مصنوعی برای روباتیک

از آنجایی که انسان ها به طور فزاینده ای در کنار ربات های مشارکتی (cobots) یا ربات های متحرک مستقل (AMR) کار می کنند، اضافه کردن انسان ها و رفتار معمول آنها به شبیه سازی ها بسیار مهم است.

قابلیت شبیه‌سازی انسانی جدید Isaac Sim به شخصیت‌های انسانی اجازه می‌دهد تا به یک انبار یا تأسیسات تولیدی اضافه شوند و وظیفه انجام رفتارهای آشنا – مانند چیدن بسته‌ها یا هل دادن چرخ دستی‌ها را بر عهده بگیرند. بسیاری از رایج ترین رفتارها قبلاً پشتیبانی می شوند، بنابراین شبیه سازی آنها به سادگی صدور فرمان است.

برای به حداقل رساندن تفاوت بین نتایج مشاهده شده در دنیای شبیه سازی شده در مقابل نتایج مشاهده شده در دنیای واقعی، داشتن مدل های حسگر دقیق از نظر فیزیکی ضروری است.

با استفاده از فناوری NVIDIA RTX، Isaac Sim اکنون می‌تواند داده‌های حسگر فیزیکی دقیق را در زمان واقعی ارائه کند. در مورد لیدار شبیه‌سازی شده با RTX، ردیابی پرتو داده‌های حسگر دقیق‌تری را در شرایط نوری مختلف یا در پاسخ به مواد بازتابنده فراهم می‌کند.

Isaac Sim همچنین مجموعه‌ای از دارایی‌های سه بعدی آماده شبیه‌سازی را ارائه می‌کند که برای ساختن محیط‌های شبیه‌سازی شده دقیق فیزیکی حیاتی هستند. همه چیز از قطعات موجود تا روبات های محبوب آماده راه اندازی است، بنابراین توسعه دهندگان و کاربران می توانند به سرعت شروع به ساخت کنند.

فرصت‌های مهم جدید برای محققان رباتیک شامل پیشرفت‌هایی در Isaac Gym برای یادگیری تقویتی و Isaac Cortex برای برنامه‌نویسی ربات‌های مشارکتی است. علاوه بر این، یک ابزار جدید، Isaac ORBIT، محیط های کاری شبیه سازی و معیارهایی را برای آموزش ربات و برنامه ریزی حرکت ارائه می دهد.

برای جامعه بزرگ توسعه دهندگان Robot Operating System (ROS)، Isaac Sim از ROS 2 Humble و Windows پشتیبانی می کند. همه نرم افزارهای Isaac ROS اکنون می توانند در شبیه سازی استفاده شوند.

گسترش قابلیت‌های پلتفرم و اکوسیستم ایزاک باعث پذیرش می‌شود

اکوسیستم بزرگ و پیچیده رباتیک صنایع متعددی را در بر می گیرد، از لجستیک و تولید گرفته تا خرده فروشی، انرژی، کشاورزی پایدار و غیره.

پلتفرم رباتیک Isaac End-to-End، هوش مصنوعی و نرم افزارهای شبیه سازی پیشرفته و همچنین قابلیت های محاسباتی سریع را برای اکوسیستم روباتیک فراهم می کند. بیش از یک میلیون توسعه دهنده و بیش از هزار شرکت به یک یا چند بخش از آن متکی هستند. این شامل بسیاری از شرکت‌هایی است که ربات‌های فیزیکی را با استفاده از Isaac Sim در دنیای مجازی توسعه داده و آزمایش کرده‌اند.

Telexistence در 300 فروشگاه در ژاپن، ربات های تکمیل کننده نوشیدنی را اجرا کرده است. برای بهبود ایمنی، دویچه بان مدل‌های هوش مصنوعی را آموزش می‌دهد تا موارد بسیار مهم اما غیرمنتظره‌ای را که در دنیای واقعی به ندرت اتفاق می‌افتد – مانند افتادن چمدان‌ها در خط قطار، مدیریت کنند. Sarcos Robotics ربات هایی را برای انتخاب و قرار دادن پنل های خورشیدی در تاسیسات انرژی های تجدیدپذیر توسعه می دهد.

Festo از Isaac Cortex برای ساده‌سازی برنامه‌نویسی برای کوبات‌ها و انتقال مهارت‌های شبیه‌سازی شده به روبات‌های فیزیکی استفاده می‌کند. Fraunhofer در حال توسعه AMR های پیشرفته با استفاده از عملکردهای تصویرسازی دقیق و کاملاً دقیق Isaac Sim است. Flexiv از Isaac Replicator برای تولید داده های مصنوعی برای آموزش مدل های هوش مصنوعی استفاده می کند.

در حالی که آموزش ربات ها مهم است، شبیه سازی نقش مهمی در آموزش اپراتورهای انسانی برای کار و برنامه ریزی ربات ها ایفا می کند. Ready Robotics برنامه نویسی ربات صنعتی را با Isaac Sim آموزش می دهد. Universal Robotics از Isaac Sim برای توسعه نیروی کار برای آموزش کاربران نهایی از فضای ابری استفاده می کند.

دسترسی ابری پلتفرم Isaac را در هر مکانی در دسترس قرار می دهد

با Isaac Sim موجود در فضای ابری، تیم‌های جهانی و چند رشته‌ای که روی پروژه‌های رباتیک کار می‌کنند، می‌توانند با افزایش دسترسی، انعطاف‌پذیری و مقیاس‌پذیری برای آزمایش و آموزش روبات‌های مجازی همکاری کنند.

فقدان داده‌های آموزشی کافی اغلب هنگام ساختن امکانات جدید با سیستم‌های رباتیک یا مقیاس‌پذیری سیستم‌های مستقل موجود مانع اجرای آن می‌شود. Isaac Sim به Isaac Replicator ضربه می زند تا به توسعه دهندگان اجازه دهد آرایه های عظیمی از داده های زمینی ایجاد کنند که فیزیک محیط های دنیای واقعی را تقلید می کند.

پس از استقرار، برنامه ریزی مسیر پویا برای مدیریت یک ناوگان کارآمد متشکل از صدها ربات با افزایش الزامات اتوماسیون مورد نیاز است. NVIDIA cuOpt، یک موتور برنامه‌ریزی مسیر و تخصیص کار در زمان واقعی، کارایی عملیاتی را با اتوماسیون بهبود می‌بخشد.

با اسحاق سیم شروع کنید

دانلود Isaac Sim امروز.

سخنرانی ویژه NVIDIA در CES را تماشا کنید که در آن مدیران اجرایی از محصولات، مشارکت و پیشنهادات در ماشین‌های مستقل، روباتیک، طراحی، شبیه‌سازی و موارد دیگر پرده‌برداری کردند.

با 4 استارت‌آپ آشنا شوید که هوش مصنوعی را در برنامه قرار می‌دهند

در این فصل تعطیلات، از انبوهی از داستان‌های با مضمون غذا که خوانندگان وبلاگ NVIDIA در سال 2022 خوردند، لذت ببرید.

استارت‌آپ‌ها در صنعت خرده‌فروشی – و به‌ویژه در رستوران‌های خدمات سریع – از هوش مصنوعی NVIDIA و فناوری روباتیک استفاده می‌کنند تا سفارش غذا در حال حرکت، یافتن نوشیدنی در قفسه‌های فروشگاه‌ها و تحویل غذا را آسان‌تر کنند. آنها توسط NVIDIA Inception تسریع می‌شوند، برنامه‌ای که پشتیبانی، تخصص و فناوری را برای استارت‌آپ‌های پیشرفته ارائه می‌دهد.

برای کسانی که جشنی را برای چشم ها ترجیح می دهند، هنرمندان همچنین یک رستوران رامن را با استفاده از پلتفرم NVIDIA Omniverse برای ایجاد و مدیریت برنامه های متاورس بازسازی کردند.

اعتبار تصویر: جاناتان بوربا از طریق Unsplash.

استارت‌آپ HuEx در تورنتو در حال توسعه یک دستیار هوش مصنوعی برای رسیدگی به درخواست‌های سفارش جعبه بلندگو است. سرویس صوتی بلادرنگ، که بر روی پلتفرم هوش مصنوعی NVIDIA Jetson edge اجرا می‌شود، دستورات صوتی را به صورت متنی برای اعضای کارکنان رونویسی می‌کند تا اجرا شوند.

این فناوری که با سیستم هدست موجود ادغام شده است، به اعضای تیم اجازه می‌دهد تا دستورات را بشنوند و در صورت نیاز برای کمک وارد عمل شوند. در حال آزمایش آزمایشی برای کمک به خدمات پشتیبانی در زنجیره‌های خدمات سریع کانادایی محبوب است.

استارت‌آپ ویستری مستقر در سن دیگو به کمبود روزافزون نیروی کار در میان رستوران‌های خدمات سریع با راه‌حل سفارش‌گیری خودکار و مجهز به هوش مصنوعی رسیدگی می‌کند. این سیستم که با کیت توسعه نرم‌افزار NVIDIA Riva ساخته شده است، از پردازش زبان طبیعی برای درک منوها و گفتار استفاده می‌کند – به‌علاوه سیستم‌های توصیه‌ای برای امکان سفارش‌دهی سریع‌تر، دقیق‌تر و پیشنهادهای شخصی‌سازی مرتبط‌تر.

Vistry همچنین از چارچوب برنامه Metropolis NVIDIA برای ساخت برنامه‌های بینایی رایانه‌ای استفاده می‌کند که می‌تواند به خودکار کردن تسویه‌حساب، سرعت حرکت و پیش‌بینی زمان لازم برای آماده‌سازی سفارش مشتری کمک کند. ابزارهای آن از پردازنده‌های گرافیکی NVIDIA Jetson و NVIDIA A2 Tensor Core پشتیبانی می‌کنند.

استارت‌آپ Cartken مستقر در اوکلند در حال استقرار ربات‌های پیاده‌رو مجهز به NVIDIA Jetson برای تحویل قهوه و غذا در آخرین مایل است. فناوری ربات متحرک مستقل آن برای تحویل سفارشات Grubhub به دانشجویان دانشگاه آریزونا و ایالت اوهایو – و کالاهای Starbucks در مراکز خرید در ژاپن استفاده می شود.

عضو Inception به ماژول NVIDIA Jetson AGX Orin متکی است تا شش دوربین را هدایت کند که به مکان‌یابی و نقشه‌برداری همزمان، ناوبری و کیلومتر شماری چرخ کمک می‌کند.

Telexistence، یک استارت‌آپ Inception مستقر در توکیو، صدها ربات NVIDIA مجهز به هوش مصنوعی را برای ذخیره‌سازی قفسه‌های FamilyMart، یک فروشگاه زنجیره‌ای پیشرو در ژاپن، مستقر می‌کند. ربات ها کارهای تکراری مانند پر کردن مجدد نمایشگرهای نوشیدنی، آزاد کردن کارکنان خرده فروشی برای تعامل با مشتریان را انجام می دهند.

برای آموزش مدل‌های هوش مصنوعی، تیم به سیستم‌های NVIDIA DGX متکی است. این ربات از NVIDIA Jetson AGX Xavier برای پردازش لبه هوش مصنوعی و ماژول NVIDIA Jetson TX2 برای انتقال داده های جریان ویدئو استفاده می کند.

فناوری NVIDIA نه تنها کاربردهای مرتبط با غذا را برای صنعت رستوران سرعت می بخشد، بلکه صحنه های مجازی وسوسه انگیز پر از غذاهای لذیذ و بدون کالری را نیز تقویت می کند.

دو دوجین هنرمند و فریلنسر NVIDIA در سرتاسر جهان توانایی‌های NVIDIA Omniverse را با بازسازی یک فروشگاه رامن در توکیو با جزئیات باورنکردنی – از جمله جوشاندن قابلمه‌های نودل، کوفته‌های بخارپز و نوشیدنی‌های بطری‌شده به نمایش گذاشتند.

این صحنه که برای برجسته کردن قابلیت‌های رندر و شبیه‌سازی فیزیک مبتنی بر NVIDIA RTX ایجاد شده است، از بیش از 22 میلیون مثلث، 350 مدل بافت منحصربه‌فرد و 3000 نقشه بافت با وضوح 4K تشکیل شده است.

هوش مصنوعی و دوقلوهای دیجیتال می توانند به تولیدات ایالات متحده انرژی بدهند

یک ابتکار ملی نیمه هادی فرصتی برای تولید انرژی در ایالات متحده فراهم می کند.

قانون چیپس و علم شامل سرمایه گذاری 13 میلیارد دلاری در تحقیق و توسعه تولید تراشه است. اگر درست انجام شود، این دستور العملی برای معرفی تکنیک های تولید مدرن به هر صنعتی و پرورش نیروی کار بسیار ماهر است.

صنعت نیمه هادی از پیچیده ترین فرآیندها و تجهیزات ساخت در تاریخ بشر استفاده می کند. برای تولید هر تراشه در یک ماشین یا کامپیوتر، صدها مرحله باید به طور کامل اجرا شوند که اکثر آنها اکنون با روباتیک خودکار هستند.

دولت ایالات متحده از صنعت پرسید که در کجا باید تلاش های خود را برای بهبود این بخش متمرکز کند. در پاسخ، NVIDIA یک سند 12 صفحه ای با بهترین ایده های خود منتشر کرد.

یک کارخانه مدرن با محاسبات سریع و هوش مصنوعی، معیاری برای سایر انواع تولید پیچیده – از ساخت گوشی‌های هوشمند گرفته تا کفش‌ها – به صورت انعطاف‌پذیر و کارآمد است.

گران ترین کارخانه های جهان

نیمه هادی ها در کارخانه هایی به نام فاب ساخته می شوند. ساخت و تجهیز یک جدید حدود 20 میلیارد دلار هزینه دارد.

جدیدترین کارخانه‌ها به شدت به رایانه‌هایی متکی هستند که توسط کارگران ماهر مجهز به یادگیری ماشین برای نسل بعدی فرآیندهای تولید ساخته، برنامه‌ریزی و کار می‌کنند.

برای مثال، هوش مصنوعی می‌تواند الگوهایی را پیدا کند که هیچ انسانی نمی‌تواند ببیند، از جمله نقص‌های کوچک در یک محصول در خط مونتاژ سریع. صنعت نیمه هادی برای ایجاد تراشه های بزرگ و پیچیده فردا به این فناوری نیاز دارد. سایر صنایع نیز می توانند از آن برای تولید سریعتر محصولات بهتر استفاده کنند.

کارایی از طریق شبیه سازی

اکنون می توانیم یک کپی دیجیتالی از کل کارخانه ایجاد کنیم. با استفاده از فناوری‌های NVIDIA، BMW در حال ساخت یک دوقلوی دیجیتالی از یکی از کارخانه‌های خودروسازی خود است تا کارایی‌های جدیدی را در کسب‌وکار خود بیاورد.

هیچ کس هنوز چیزی به پیچیدگی دوقلوی دیجیتالی یک کارخانه تولید تراشه نساخته است، اما این هدف در حال حاضر در دسترس است.

یک کارخانه مجازی به متخصصان این امکان را می دهد که بدون توقف تولید در یک کارخانه فیزیکی، فرآیندهای جدید را بسیار سریعتر و ارزانتر طراحی و آزمایش کنند. این شبیه‌سازی همچنین می‌تواند از هوش مصنوعی برای تجزیه و تحلیل داده‌های حسگرها در کارخانه‌های فیزیکی، یافتن راه‌های جدید برای مسیریابی موادی که ضایعات را کاهش می‌دهند و عملیات را سرعت می‌بخشد، استفاده کند.

به زودی، هر کارخانه تولیدی با دوقلو دیجیتال از نظر اقتصادی رقابتی تر از کارخانه بدون کارخانه خواهد بود.

کارخانه های مجازی، اپراتورهای واقعی

دوقلوهای دیجیتال به متخصصان از راه دور اجازه می‌دهند تا طوری با هم همکاری کنند که انگار در یک اتاق هستند. آنها همچنین آموزش کارگران را به سطح جدیدی می برند.

برخی از مهمترین ابزارهای این کارخانه به اندازه یک کانتینر حمل و نقل هستند و هر کدام تا 200 میلیون دلار قیمت دارند. دوقلوهای دیجیتال به کارگران این امکان را می دهند که حتی قبل از نصب بر روی این سیستم های گران قیمت آموزش ببینند.

پس از آموزش، کارگران می‌توانند واجد شرایط باشند، بدون نیاز به پا گذاشتن در اتاق‌های فوق‌العاده تمیزی که در آن نصب شده‌اند، کار کنند و به آنها خدمات ارائه دهند. این نوع کار نشان دهنده آینده تمام تولیدات است.

کارخانه‌هایی که با دوقلوهای مجازی طراحی شده‌اند می‌توانند بازده انرژی، مصرف آب و افزایش استفاده مجدد را بهینه کنند و اثرات زیست‌محیطی را کاهش دهند.

مورد نظر: عملکرد بیشتر در هر وات

کارخانه های فردا بیش از هر زمان دیگری به ماهیچه های محاسباتی نیاز دارند. برای دستیابی به این هدف، ما به سرمایه گذاری در فناوری های انرژی کارآمد در هر سطح نیاز داریم.

مدارهای داخل تراشه ها باید انرژی کمتری مصرف کرده و هدر دهند. سیگنال‌هایی که به تراشه‌های مجاور و شبکه‌های جهانی ارسال می‌کنند باید سریع‌تر حرکت کنند و در عین حال انرژی کمتری مصرف کنند.

کامپیوترها باید در عین افزایش کارایی، کارهایی که داده فشرده بیشتری دارند انجام دهند. برای طراحی و ساخت این سیستم ها، به تحقیق در مورد انواع جدید تراشه های شتاب دهنده، سیستم های شتاب دهنده و نرم افزارهایی که روی آنها اجرا می شود نیاز داریم.

انویدیا و دیگران در محاسبات سبز گام های بلندی برداشته اند. اکنون فرصتی برای برداشتن یک گام بزرگ دیگر به جلو داریم.

برنامه و مشارکت گسترده

اینها تنها تعدادی از راه هایی است که NVIDIA می خواهد به پیشرفت صنعت نیمه هادی ایالات متحده و به طور کلی همه تولید کنندگان کمک کند.

هیچ شرکتی به تنهایی نمی تواند این کار را انجام دهد. صنعت، دانشگاه و دولت باید برای تحقق این امر همکاری کنند.

NVIDIA در مرکز یک اکوسیستم پر جنب و جوش متشکل از 3.5 میلیون توسعه دهنده و بیش از 12000 استارت آپ جهانی است که در برنامه NVIDIA Inception ثبت نام کرده اند.

دانشگاه فلوریدا مدلی برای پیشرفت هوش مصنوعی و آموزش علوم داده در هر زمینه تحصیلی ارائه می دهد.

در سال 2020، طرحی را برای تبدیل شدن به یکی از اولین دانشگاه های هوش مصنوعی کشور راه اندازی کرد. امروزه، کل برنامه درسی خود را با یادگیری ماشینی القا می کند. در هسته خود، ابررایانه هوش مصنوعی UF در حال پیشبرد تحقیقات در زمینه هایی مانند مراقبت های بهداشتی، کشاورزی و مهندسی است.

این نمونه دیگری از قدرت تغییردهنده محاسبات تسریع شده و هوش مصنوعی است. ما مشتاقانه منتظر فرصتی برای شرکت در این ماجراجویی دیدنی در تولید ایالات متحده هستیم.

برای کسب اطلاعات بیشتر در مورد ایده های NVIDIA برای آینده تولید نیمه هادی، از جمله اینکه چگونه هوش مصنوعی برای پیشرفت لیتوگرافی، ابزارهای طراحی الکترونیکی و فرآیندهای امنیت سایبری حیاتی است، بخوانید. سند کامل.

ابررایانه هوش مصنوعی برای تامین انرژی مجتمع نوآوری 200 میلیون دلاری ایالت اورگان

اسکات اشفورد به عنوان یک مهندس عمران از مواد منفجره استفاده می کند تا زمین زیر فرودگاه سندای ژاپن را در هنگام زلزله ایمن تر کند. اکنون، به عنوان رئیس دانشکده مهندسی دانشگاه ایالتی اورگان، برای یک رویداد لرزه‌ای دیگر در زمین صفر است.

در بزرگترین جشن جمع آوری کمک های مالی خود در نزدیک به یک دهه اخیر، ایالت اورگان امروز برنامه های خود را برای یک مرکز 200 میلیون دلاری اعلام کرد که در آن اساتید و دانشجویان می توانند از منابعی بهره ببرند که شامل یکی از سریع ترین ابررایانه های دانشگاهی جهان می شود.

این مرکز 150000 فوت مربعی که قرار است در سال 2025 افتتاح شود، کار بر روی برنامه‌های برتر ایالت اورگان در کشاورزی، علوم کامپیوتر، علوم آب و هوا، جنگل‌داری، اقیانوس‌شناسی، رباتیک، منابع آب، علوم مواد و غیره را با کمک هوش مصنوعی

Beacon در هوش مصنوعی، رباتیک

به افتخار هدیه 50 میلیون دلاری بنیانگذار و مدیر عامل NVIDIA و همسرش به بنیاد OSU – که مدرک مهندسی خود را در OSU به دست آوردند و در یکی از آزمایشگاه های آن ملاقات کردند – مجتمع نوآوری مشترک جن – Hsun and Lori Huang نامیده می شود. (CIC).

اشفورد که کالج مهندسی او شامل بیش از 10000 دانشجو از 35000 دانشجوی OSU است، گفت: “CIC و ابرکامپیوتر جدید به ایالت اورگان کمک می کند تا به عنوان یکی از دانشگاه های پیشرو در جهان در زمینه هوش مصنوعی، رباتیک و شبیه سازی شناخته شود.”

جن هسون و لوری هوانگ گفتند: «ما عشق خود را به علم و مهندسی کامپیوتر در OSU کشف کردیم. امیدواریم این هدیه به نسل‌های آینده دانش‌آموزان کمک کند تا عاشق فناوری و توانایی آن در تغییر جهان شوند.»

آنها افزودند: “هوش مصنوعی متحول کننده ترین فناوری زمان ما است.” “برای مهار این قدرت، دانشجویان مهندسی نیاز به دسترسی به یک ابر کامپیوتر، ماشین زمان، برای تسریع تحقیقات خود دارند. این ابرکامپیوتر هوش مصنوعی جدید، دانشجویان و محققان OSU را قادر می سازد تا پیشرفت های بسیار مهمی در علوم آب و هوا، اقیانوس شناسی، علم مواد، رباتیک و سایر زمینه ها داشته باشند.

مرکز دانشجویی

انتظار می‌رود مجتمع جدید با یک تئاتر واقعیت افزوده، یک زمین بازی روباتیک و هواپیماهای بدون سرنشین و یک فضای سازنده DIY، دانشجویان را از سراسر دانشگاه جذب کند. اشفورد گفت: «این پتانسیل را دارد که نه تنها دانشکده مهندسی، بلکه کل دانشگاه را متحول کند و تأثیر اقتصادی و زیست محیطی مثبتی بر ایالت و ملت داشته باشد.

این مرکز سه طبقه شامل یک اتاق تمیز و همچنین آزمایشگاه برای دانشمندان مواد، محققان محیط زیست و غیره خواهد بود.

رندر هنری از مجتمع نوآوری مشترک جن-هسون و لوری هوانگ.

اشفورد انتظار دارد که در یک دهه آینده، این مرکز پژوهشگران برتر و همچنین پروژه های تحقیقاتی به ارزش صدها میلیون دلار را جذب کند.

او گفت: «خبرداران و رهبران دانشگاه ما از سرمایه‌گذاری در رویکردی مشترک و فرا رشته‌ای برای حل و کشف مشکلات هیجان‌زده هستند – این مثلث مهندسی ما را احیا می‌کند و مکانی باورنکردنی برای یادگیری و انجام تحقیقات خواهد بود.»

جنگلی از احتمالات

او چندین نمونه از پتانسیل این مرکز را بیان کرد. بین آنها:

  • محققان محیط‌زیست و الکترونیک می‌توانند برای طراحی و پیاده‌سازی حسگرها همکاری کنند و از هوش مصنوعی برای تجزیه و تحلیل داده‌های خود استفاده کنند و کشف کنند که گونه‌های در معرض خطر انقراض کجا در اقیانوس یا جنگل رشد می‌کنند تا از زیستگاه‌های آنها محافظت شود.
  • دانش‌آموزان می‌توانند از واقعیت افزوده برای آموزش تکنیک‌های ساخت تراشه‌های سرب در اتاق‌های تمیز شبیه‌سازی شده استفاده کنند. اشفورد گفت که مقامات فدرال و ایالتی اورگان به دنبال توسعه نیروی کار برای صنعت نیمه هادی ایالات متحده هستند.
  • محققان رباتیک می توانند شبیه سازی های واقع بینانه از پهپادها و روبات های خود برای سرعت بخشیدن به آموزش و آزمایش ایجاد کنند. (کاسی، یک ربات دوپا که در OSU طراحی شده، به تازگی ساخته شده است رکوردهای جهانی گینس برای سریعترین 100 متر دویدن توسط یک ربات.)
  • دانش‌آموزان OSU و کالج خواهرش در آلمان، DHBW-Ravensburg، می‌توانند از NVIDIA Omniverse – پلتفرمی برای ساخت و مدیریت برنامه‌های متاورس و اتصال خطوط لوله سه بعدی خود – برای بهبود طراحی خودروهای مسابقه‌ای برقی خودران و برنده جایزه خود استفاده کنند.
کیسی رکورد دویدن 100 متری روبات را شکست.

ساخت مدل های هوش مصنوعی، دوقلوهای دیجیتال

چنین تلاش‌هایی با NVIDIA AI و Omniverse، نرم‌افزارهایی که می‌توانند آزمایشگاه‌های فیزیکی ساختمان را با شبیه‌سازی‌ها و دوقلوهای دیجیتالی تقویت کنند، تسریع می‌یابند تا هر دانش‌آموز یک میز مجازی داشته باشد.

OSU پس از آماده شدن مرکز داده مجموعه، کلاسترهای پیشرفته NVIDIA DGX SuperPOD و OVX SuperPOD را دریافت خواهد کرد. با توجه به بهره وری انرژی، آبی که قفسه های کامپیوتر را خنک می کند به گرم کردن بیش از 500000 فوت مربع از ساختمان های دانشگاه کمک می کند.

SuperPOD احتمالاً شامل ترکیبی از حدود 60 سیستم DGX و OVX خواهد بود که توسط پردازنده‌ها، پردازنده‌های گرافیکی و شبکه‌های نسل بعدی تغذیه می‌شوند و سیستمی به اندازه کافی قدرتمند برای آموزش بزرگترین مدل‌های هوش مصنوعی و اجرای شبیه‌سازی‌های پیچیده دیجیتالی دوگانه ایجاد می‌کنند. اشفورد خاطرنشان می کند که OSU برنده پروژه ای شد که با وزارت انرژی ایالات متحده همکاری می کرد زیرا مرکز کامپیوتر موجود آن دارای چندین سیستم DGX است.

پیشبرد تنوع، شمول

در رویداد 14 اکتبر بنیاد OSU که نامگذاری مجتمع جدید را اعلام کرد، مقامات ایالت اورگان از اهداکنندگان تشکر کردند و یک کمپین جمع آوری کمک مالی در سطح دانشگاه راه اندازی کردند. OSU برای ساخت این ساختمان از ایالت اورگان درخواست حمایت کرد و به دنبال سرمایه گذاری بشردوستانه اضافی برای گسترش تحقیقات خود و حمایت از اهداف استخدام و تنوع خود است.

جیاتی مورتی، رئیس OSU، گفت که این مجموعه فرصتی برای پیشبرد تنوع، برابری و گنجاندن در آموزش و پژوهش STEM دانشگاه فراهم می کند. کالج مهندسی OSU در حال حاضر در میان دانشکده های برتر در ایالات متحده برای دانشکده مهندسی زن قرار دارد.

Sprout AI Universities

ایالت اورگان نیز در میان مجموعه‌ای کوچک اما رو به رشد از دانشگاه‌هایی است که سفرهای خود را در زمینه هوش مصنوعی و محاسبات با عملکرد بالا تسریع می‌کنند.

مقاله سفید اخیر تلاش های دانشگاه فلوریدا را برای آوردن هوش مصنوعی به برنامه درسی خود به عنوان بخشی از مشارکت با NVIDIA توصیف می کند که به آن اجازه می دهد HiPerGator، یک DGX SuperPOD مبتنی بر سیستم های NVIDIA DGX A100 با پردازنده های گرافیکی NVIDIA A100 Tensor Core را نصب کند.

به دنبال رهبری فلوریدا، دانشگاه متدیست جنوبی در پاییز گذشته اعلام کرد که قصد دارد منطقه دالاس را به مرکزی برای توسعه هوش مصنوعی در اطراف DGX SuperPOD جدید خود تبدیل کند.

شریل مارتین، که رهبری تلاش‌های تحقیقاتی آموزش عالی انویدیا را بر عهده دارد، می‌گوید: «ما شاهد علاقه زیادی به ایده دانشگاه‌های هوش مصنوعی از آسیا، اروپا و ایالات متحده هستیم.

یکی از اتومبیل های مسابقه ای خودمختار OSU در پیست می چرخد.

با همه چیزخوار آشنا شوید: Ph.D. دانشجو به هر کسی اجازه می‌دهد ربات‌های شبیه‌سازی‌شده را با افزونه Omniverse زنده کند

یادداشت سردبیر: این پست بخشی از ماست با همه چیزخوار آشنا شوید مجموعه‌ای که سازندگان و توسعه‌دهندگان فردی را که از آن استفاده می‌کنند، نشان می‌دهد NVIDIA Omniverse برای سرعت بخشیدن به گردش کار سه بعدی خود و ایجاد جهان های مجازی.

ییژو ژائو

زمانی که درگیر تحصیل در مقطع دکترا نیست. در آمار، انجام تحقیقات مبتنی بر داده در هوش مصنوعی و روباتیک، یا لذت بردن از سرگرمی مورد علاقه خود در قایقرانی، Yizhou Zhao برنده مسابقات توسعه دهندگانی است که از NVIDIA Omniverse استفاده می کنند – پلت فرمی برای اتصال و ساخت خطوط لوله سه بعدی سفارشی و برنامه های کاربردی متاورس.

نامزد سال پنجم دکترا در UCLA اخیراً مقام اول را در مسابقه افتتاحیه #ExtendOmniverse کسب کرد، جایی که از توسعه دهندگان دعوت شد تا افزونه Omniverse خود را ایجاد کنند تا شانس برنده شدن در یک پردازنده گرافیکی NVIDIA RTX را داشته باشند.

برنامه های افزودنی Omniverse بلوک های ساختمانی اساسی هستند که به هر کسی اجازه می دهد تا با استفاده از زبان برنامه نویسی محبوب Python ویژگی های برنامه Omniverse را ایجاد و گسترش دهد.

ورودی برنده ژائو، به نام IndoorKit، به کاربران اجازه می دهد تا به راحتی وظایف شبیه سازی رباتیک را در صحنه های داخلی بارگیری و ذخیره کنند. وظایف دستکاری ربات را با پر کردن خودکار صحنه‌ها با محیط‌های داخلی، ربات‌ها و اشیاء دیگر تنها با چند کلیک اختصاص می‌دهد.

ژائو می‌گوید: «معمولاً پیاده‌سازی یک کار رباتیک در شبیه‌سازی بدون مهارت زیاد در ساخت صحنه، نمونه‌برداری چیدمان و کنترل ربات دشوار است. با وارد کردن دارایی‌ها به رابط کاربری قدرتمند Omniverse با استفاده از چارچوب توصیف صحنه جهانی، برنامه افزودنی من به راه‌اندازی صحنه فوری و کنترل دقیق ربات دست می‌یابد.»

در IndoorKit، کاربران می‌توانند به سادگی روی دکمه‌های «افزودن شی»، «افزودن خانه»، «بار صحنه»، «ذخیره صحنه» و دکمه‌های دیگر کلیک کنند تا جنبه‌های محیط را دستکاری کنند و مستقیماً در شبیه‌سازی رباتیک شیرجه بزنند.

با Universal Scene Description (USD)، یک چارچوب فایل منبع باز قابل توسعه، ژائو به طور یکپارچه مدل های سه بعدی را با استفاده از اتصال دهنده های Omniverse برای نرم افزار Autodesk Maya و Blender وارد محیط های خود کرد.

افزونه IndoorKit همچنین به دارایی‌های پلتفرم شبیه‌سازی روباتیک Isaac Sim NVIDIA و قابلیت‌های داخلی PhysX Omniverse برای دستکاری دقیق و مفصل ربات متکی است.

علاوه بر این، IndoorKit می تواند نور صحنه، مواد اتاق و موارد دیگر را تصادفی کند. یکی از صحنه‌هایی که ژائو با افزونه ایجاد کرده است در ویدیوی بالا برجسته شده است.

Omniverse برای روباتیک

پسوند “IndoorKit” تحقیقات Omniverse و روباتیک را در شبیه سازی به هم متصل می کند.

نمایی از پسوند “IndoorKit” ژائو

ژائو گفت: «من نمی‌دانم کنترل ربات قبل از Omniverse چقدر دقیق انجام می‌شد. او چهار دلیل اصلی برای اینکه چرا Omniverse پلتفرم عالی برای ساخت این بسط است را ارائه می دهد:

او گفت اولاً، محبوبیت پایتون به این معنی است که بسیاری از توسعه دهندگان می توانند افزونه هایی با آن بسازند تا قفل یادگیری ماشین و تحقیقات یادگیری عمیق را برای مخاطبان گسترده تر باز کنند.

دوم، استفاده از پردازنده‌های گرافیکی NVIDIA RTX با Omniverse به طور قابل توجهی سرعت کنترل و آموزش ربات را افزایش می‌دهد.

سوم، فناوری ردیابی پرتوی Omniverse امکان نمایش واقعی صحنه های آن را در زمان واقعی فراهم می کند. او گفت که این باعث صرفه جویی در 90 درصد از زمانی که ژائو برای راه اندازی و شبیه سازی یک آزمایش استفاده می کرد، می شود.

و چهارم، موتور شبیه‌سازی فیزیک بلادرنگ پیشرفته Omniverse، PhysX، از طیف گسترده‌ای از ویژگی‌ها – از جمله شبیه‌سازی سیال، ذرات و بدن نرم – پشتیبانی می‌کند که به گفته ژائو “در مرز تحقیقات رباتیک قرار دارند.”

او گفت: “آینده هنر، مهندسی و پژوهش در روحیه پیوند همه چیز است: مدل سازی، انیمیشن و شبیه سازی.” “و جهان هستی همه را با هم جمع می کند.”

به Creation بپیوندید

سازندگان و توسعه دهندگان در سراسر جهان می توانند NVIDIA Omniverse را به صورت رایگان دانلود کنند و تیم های سازمانی می توانند از این پلت فرم برای پروژه های سه بعدی خود استفاده کنند.

نحوه ایجاد یک افزونه Omniverse را در کمتر از 10 دقیقه بیاموزید.

برای بررسی عمیق‌تر توسعه Omniverse، جلسه درخواستی NVIDIA GTC با عنوان «نحوه ساخت برنامه‌های افزودنی و برنامه‌های کاربردی برای دنیای مجازی با NVIDIA Omniverse» را تماشا کنید.

مستندات و آموزش‌های اضافی را در مرکز منابع Omniverse بیابید که نحوه ساخت برنامه‌های افزودنی مبتنی بر USD سفارشی برای پلتفرم توسط توسعه‌دهندگانی مانند Zhao را شرح می‌دهد.

برای کشف ابزارهای رایگان توسعه‌دهنده، آموزش و انجمن، به برنامه توسعه‌دهنده NVIDIA بپیوندید.

NVIDIA Omniverse را در ادامه دنبال کنید اینستاگرام، میانگین، توییتر و یوتیوب برای منابع و الهام بیشتر به Omniverse مراجعه کنید انجمن هاو به ما بپیوندید سرور Discord و تکان دادن کانال برای چت کردن با جامعه