Robotic Knowledge
383 subscribers
242 photos
62 videos
2 files
172 links
دانش و برنامه‌نویسی برای رباتیک
Download Telegram
Robotic Knowledge
#RL #Isaac #IsaacGym شبیه‌سازهای زیادی در عالم برای رباتیک وجود دارد (مثلا Drake)، اما اکثر آنها برای Reinforcement Learning مناسب (بهینه) نیستند، اما Isaac Gym بسیار مناسب است! بطور سنتی یک شبیه‌ساز، فیزیک را با CPU حل میکند و فقط قسمت مدل یادگیری شونده…
#Isaac #IsaacSim #IsaacGym
دوستان Isaac Sim با Isaac Gym یکی نیستن و می‌نویسم که خودم هم قاطی نکنم. 😂

Isaac Sim: Omniverse based simulator for robotics.

Isaac Gym: High performance GPU-based robotic simulator for RL applications, a python module.

----------
@roboticknowledge
Please open Telegram to view this post
VIEW IN TELEGRAM
5👨‍💻22
#ROS2 #Tools

توسعه‌دهنده‌ای یک برنامه درست کرده‌اند به نام Turtle Nest که کار دستور
ros2 pkg create 

را بصورت GUI انجام می‌دهد و برای پکیج درست کردن و دپندنسی اضافه کردن دیگر درگیر Command Line نمی‌شود آدم! استفاده نکرده‌ام اما این تیپ کارها دوست داشتنی هستند. 🙂

https://discourse.ros.org/t/introducing-turtle-nest-gui-for-ros-2-package-creation/39229

----------
@roboticknowledge
Please open Telegram to view this post
VIEW IN TELEGRAM
311
#تجربه
این سبزها نشانگر توسعه پایدار برای من هستند.
خاکستری یعنی چیزی مانع توسعه شده است. مشخص است که دو هفته پیش سرماخوردگی شدیدی داشته‌ام! 🙃
استاد من با کامیت‌های من آنچه را که دارم پیش میبرم می‌بیند و این مکانیزم زندگی کاری من است.
—————
@roboticknowledge
421
#تجریه

https://t.iss.one/htuniversity/245

دوست ما نکته صحیحی درباره لینکدین نوشته‌اند.

فارسی‌نویس‌ها در #لینکدین آنچنان مطالب کم ارزشی می‌نویسند که شخصا هر کسی که کوچکترین فعالیتی در آن فضا (بصورت فارسی و کم ارزش) داشته باشد را از شبکه خود حذف می‌کنم. حتی کسایی که لایک می‌کنند آن محتوای کم ارزش را، حذف می‌شوند از شبکه‌هایی که دنبال ارزش هستند.

در لینکدین، گیتهاب و ایکس باید جنتلمن باشید و فاخر اگر به دنبال موفقیت در آن (شبکه‌ و برندسازی) هستید. بنابراین اگر شبکه شما اینچنین نیست، ‌حتما آن‌را پاک‌سازی کنید و چیزی فاخر برای خود بسازید.
—————
@roboticknowledge
5🫡2
#ROS2 #Build #Conflict

اخیرا دچار یک conflict در سیستم بیلد خود برای ROS 2 humble شدم. این conflict ناشی از انتخاب پایتون Anaconda بجای پایتون سیستم توسط colcon ایجاد شده بود.

خود Open Robotics می‌گوید که conflict بین colcon و Anaconda وجود دارد و توصیه کرده هر دو با هم نباشند. توصیه غلطی است زیرا شاید شخصی به هر دو نیاز داشته باشد!

راه حل چیست؟
ابتدا باید ببینیم که خود conflict چه بوده است. Conflict این بود که executer انتخاب شده توسط colcon هنگام اجرای دستور colcon build، از Anaconda انتخاب می‌شود نه سیستم.
من آمدم و در محیط base برای Anaconda، پایتون ۱۰ و پکیج ament_pkg را نصب کردم. محیط base را فعال کردم، در آن ROS 2 را source کردم و نهایتا دستور
colcon build

بدون خطا اجرا شد.

راه‌های دیگری مثل دستکاری متغیرهای محیطی را تست کردم و جواب نداد. همچین colcon در رفرنس خود گفته است که می‌توان با آرگومان executer-- اجرا کننده را تعریف کرد، که باز هم کار نکرد! نهایتاً آنچه که colcon لازم دارد را در محیط base آناکندا نصب کردم و مسأله حل شد.
----------
@roboticknowledge
41
#طراحی #رباتیک #OOP
در برنامه‌نویسی برای رباتیک، یک برنامه‌نویس خوب دیتای پارامترها و هر آنچه را که جزئی از بخش طراحی الگوریتم نیست، در خارج از منبع اصلی در یک yaml یا json فایل تعریف می‌کند و فقط با پارس کردن فایل configuration، برنامه خود را اجرا می‌کند.

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

باز یک برنامه‌نویس بهتر می‌آید و Logger کنسولی پیاده می‌کند تا استفاده کننده بداند خطا یا هشدار چیست و چطوری باید آن را رفع کند. همیشه قرار نیست خطا ببینید، همینکه در کنسول به کاربر Information بدهید درباره current stage خود بسیار مهم است.

—————
@roboticknowledge
174
#تجربه
همراه با Baxter، آزمایشگاه هوش مصنوعی بروکسل، دانشگاه VUB
----------
@roboticknowledge
116🫡3
#مفاهیم
#Planning

در #رباتیک طرح‌ریزی‌ها برای چند دسته از مسائل می‌توانند تفکیک بشوند:

۱. طرح‌ریزی که می‌داند باید ربات را به کجا ببرد و قیدهایی مانند Obstacle Avoidance را نیز ارضا کند. این‌ها ساده‌ترین‌ها هستند و تمام Sampling Based Planner ها چنین کاری می‌کنند. به مانند RRT و غیره.

۲. طرح‌ریزی که علاوه بر هدایت ربات به مکان خاص و همچنین تامین قیدهای intrinsic مانند جلوگیری از تصادف، تعدادی قید extrinsic را نیز تامین می‌کند. قیدهای extrinsic مسائل بهینه‌سازی هستند که به طرح‌ریزی کمک‌های زیادی می‌کنند. به‌عنوان یک مثال کلیدی، طرح‌ریزی که همراه با هدایت ربات، اقدام به Environmental Exploration هم می‌کند تا نواحی شلوغ را پیدا کند و اطلاعات بدرد بخور طرح‌ریزی مسیر بدست آورد، در این دسته قرار می‌گیرد.

دسته دوم از نظر Theory و البته اجرایی، به مراتب سخت‌تر خواهد بود از دسته اول.

دسته سومی هم وجود دارد که طرح‌ریزی بر اساس Learning (آفلاین یا مداوم برخط) باشد. با توجه به جدید بودن این دسته، خیلی منظم نمی‌توان دسته‌بندی جزیی‌تر برای آن ارائه داد، اگرچه عمده کارهای این سبکی با استفاده از RL برای ناوبری یا استفاده از CNN برای ادراک محیطی بهتر و استفاده آن داده در طرح‌ریزی است. مشخصاً می‌توان با این روش سرعت‌های اجرایی بالایی گرفت، اما طراحی یک شبکه برای هدفی مناسب و البته آموزش آن چالش است. نباید فراموش هم کرد که تضمین ایمنی براحتی نمی‌توان ارائه داد!

----------
@roboticknowledge
72
😁4🐳1
#منهای_رباتیک
اینترنت نرمال که گفته می‌شود این است!
----------
@roboticknowledge
🤯8🫡2🍾1
علاقه‌ای به بحث آزاد رباتیک (صوتی) دارید؟
Final Results
89%
بله
11%
خیر
Live stream scheduled for
Live stream started
ما برخط هستیم!
Live stream finished (1 hour)
#ROS2
کدی به شما داده می‌شود، با ابعادی بزرگ.
این کد در واقع یک استک کنترلی رباتیک است که بر اساس استک دیگری چند سال پیش (۳ سال) توسعه یافته است. حال شما وارد می‌شوید که از آن استفاده کنید، اما استک پایه در این چند سال مداوم آپدیت شده است (آپدیت سنگین).

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

خطاها می‌توانند در compile time رخ بدهند یا در run time. شما هنگام compile time می‌توانید همیشه دیباگ کنید، زیرا کامپایلر بنده خدا به شما سر نخ می‌دهد. اما در run time شما همیشه امکان traceback ندارید‌‌. در آن نقطه شرط ادامه دادن وجود اعصاب پولادین است! ریزبینی هم بسیار مهم است که چطور خطاها را از بین ببرید.

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

----------
@roboticknowledge
82
This media is not supported in your browser
VIEW IN TELEGRAM
این ربات گرامی در حال جارو کردن طبقه ما در دانشکده بود که رفتم و یکم اذیتش کردم. :)
----------
@roboticknowledge
😁73😎2
چهار Ubuntu برای چهار هدف مختلف! یک ۲۲، سه ۲۰.
وقتی که چیزهای مختلفی نیازی داری، اما compatible نیستند، ناچار به این کار هستید. :)
--------
@roboticknowledge
😁3👨‍💻1
#Isaac #ROS2

Isaac Sim 4.1 and Isaac Sim 4.2 are not compatible with any version of Isaac ROS.


از طرفی Omni Graph با نسخه ۴.۱ و بالاتر ویژگی‌های جدید را دارد! طبیعتاً Isaac ROS بسیار با ارزش‌تر است، پس ورژن را بر می‌گردانم. اما meme «اسیر شدیم» برازنده شرایط است!
----------
@roboticknowledge
😁5