Robotic Knowledge
382 subscribers
242 photos
62 videos
2 files
172 links
دانش و برنامه‌نویسی برای رباتیک
Download Telegram
#طراحی

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

دیدم سرعت کار کم است و به تعطیلات سال نو میلادی برخورد کردیم، خودم دست به کار شدم. اینجا با نرم‌افزار Inventor طراحی می‌کنیم (دانشگاه ما لایسنس محصولات Autodesk را دارد). انصافاً خیلی نرم‌افزار راحتی است و در حد Solid Works راحت و خوش دست است.

چک کردم موتور انتخاب شده اولیه را و دیدم بله، دانشجوی جوان خامی کرده و با آن توان امکان نصب Propeller نهایتا سه اینچی را داریم که صرفا امکان Hovering آن هم با Throttle زیاد (آمپرکشی و خالی شدن سریع باتری) وجود دارد و مانورپذیری وجود ندارد.

بنابراین رفتم و موتوری قوی‌تر که امکان Maneuver خوب با 70% Throttle می‌دهد را انتخاب کردم. موتوری که انتخاب کردم می‌تواند یک‌ Propeller با سایز تا ۵ اینچ را در طراحی من بچرخاند.

تغییر موتور یعنی نیاز به تغییر طراحی Frame و البته به دلیل افزایش ابعاد Propeller تغییر طراحی چند بخش دیگر.

طراحی مکانیکی فرآیندی Iterative است و تا به نقطه بهینه برسید، چالش دارید؛ اما وقتی چیزی را خلق کردید که کار بکند، 10X چیزهایی به شما برمی‌گردد.

ما چندین Fabrication Lab داریم که تعداد زیادی ابزار و ماشین مکانیکی از جمله Laser Cutter و 3D Printers وجود دارند تا همه چیز را بتوانیم بسازیم و امکان چندین مرحله نمونه‌سازی برای تثبیت طراحی وجود دارد.

----------
@roboticknowledge
🤯62🐳2
این ربات‌ها که قابلیت های حرکتی ترکیبی دارند را Hybrid Mobility Robots نام می‌دهند و طراحی‌های جالبی دارند.

در خصوص این چند پاها با قطعیت و آگاهی می‌گویم که با RL به آن‌ها یک Policy برای Navigation مشخص آموزش می‌دهند و اساسا کار Model based بسیار دردآور خواهد بود برای چنین سیستم‌های پیچیده‌ای.

-----------
@roboticknowledge
Forwarded from زانکو (Javad Amirian)
Media is too big
VIEW IN TELEGRAM
یکی از فرم‌های رباتیک که من واقعا ازش لذت می‌برم، این ربات‌های چرخدار-پادار هستند. هم سریع و بهینه مثل ماشین‌ها. و هم مثل چهارپاها انعطاف‌پذیرند و می‌تونن روی سطوح متفاوت حرکت کنن (روی پله، جاهای ناهموار...).

البته قبلا استارتاپ سوییسی AnyBotics یه نسخه از اینو معرفی کرده بود.
ولی دموی جدید ربات Unitree (شرکت رباتیک چینی رقیب Boston Dynamics) سطح جدیدی از توانایی ها رو به نمایش گذاشته. جالبه بدونیم این سطح از مانورپذیری با الگوریتم‌های سنتی رباتیک بدست نمیاد و این ربات با کمک روش‌های یادگیری تقویتی RL آموزش داده شده.

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

زانکو
3
موردی که ترکیب پرنده و پادار بود.
Forwarded from Robotic Knowledge
#حرکت_ترکیبی
ربات سگ پرنده mini pupper

خیلی از معرفی ربات LEONARDO نمی‌گذرد که شاهد ارائه نسخه پرنده ربات متن باز آموزشی چهارپای mini pupper خواهیم بود.

بدین ترتیب این پلتفرم چهارپا قابلیت Hybrid motion پیدا خواهد کرد. این تبدیل با اضافه کردن قاب کوادروتور به تنه ربات بدست می‌آید.

—————
@roboticknowledge
🤯1🍾1
Forwarded from Robotic Knowledge
تصویر: نسخه پرنده ربات متن باز آموزشی mini pupper با قابلیت Hybrid motion.
#RL #Navigation

مهندسی دردآور یک Reward Function برای تسک مشخص Navigation

شما یک ربات دارید که در شبیه‌ساز چند هزار محیط موازی برای آموزش آن ایجاد می‌کنید. نکته اساسی در اینکه RL را چگونه استفاده کنید نیست، زیرا در این شبیه‌سازها اساسا ساده‌ترین کار صدا زدن الگوریتم‌های State of the Art مانند PPO یا Actor Critic است.

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

حال شما اگر Terrain را تغییر دهید یا ربات را تغییر دهید، مجدد باید با یک Policy جدید بر اساس یک Reward Function جدید آموزش بدهید.

در بحث AGI برای فقط کاری مثل آموزش Navigation (یک AGI که بتواند انواع ربات در یک کلاس مشخص را را در انواع Terrain حرکت بدهد)، گپ اساسی همین مسأله است که چیزی وجود ندارد که Reward Function برای شما طراحی کند و این یک کار مهندسی و Human in the loop سخت و زمان بر است.

----------
@roboticknowledge
😁2
#ROS2 #Gazebo

برای انتقال داده از ROS2 به Gazebo و برعکس به یک پل به نام ros_ign_bridge نیاز است که در واقع خود یک ROS پکیج است.

وقتی شبیه‌سازی در Gazebo اجرا می‌شود، داده‌ها به خودی خود در برابر ROS دچار expose نمی‌شوند و شما باید تاپیک‌های مطلوب را پل کنید که با این پکیج ممکن می‌شود.

این یک مثال است که من چگونه در Launch فایل تاپیک سرعت موتور در ROS را به همان تاپیک در Ignition پل می‌کنم:

Node(
package='ros_ign_bridge',
executable='parameter_bridge',
arguments=['/model/X4/command/motor_speed/m0@std_msgs/msg/[email protected]'],
output='screen'
),

اینجا بطور مشخص داده تاپیک /model/X4/command/motor_speed/m0 که از نوع std_msgs/msg/Float32 است از ROS به Ign ارسال می‌شود و نوع نهایی آن نیز ignition.msgs.Float خواهد شد.
----------
@roboticknowledge
🍾1👨‍💻1
#Python

اگر قصد داشتید در پایتون از کیبورد یا ماوس داده بخوانید، از کتابخانه pynput استفاده کنید. این کتابخانه به شما یک Thread برای مانیتور کردن کیبورد یا ماوس می‌دهد.

در موازی با کمک ماژول threading و انجام multi threading می‌توانید برنامه خود را در یک Thread دیگر اجرا کنید و با یک متغیر global خروجی کیبورد را در ترد برنامه اصلی استفاده کنید.

برای Data collection در یک شبیه‌سازی لازم بود که یک ربات را با کیبورد حرکت دهم که یک Thread برای شبیه‌سازی ایجاد کردم و یک Thread هم برای مانیتور کردن کیبورد و شبیه‌ساز سرعت لحظه‌ای ربات را بر اساس متغیر جهانی سرعت که توسط ترد مانیتورینگ کیبورد بروز می‌شود را برای کنترل‌کننده سرعت در نظر می‌گیرد.

بدین ترتیب شما Parallel Processing انجام میدهید و حلقه شبیه‌سازی شما مستقل از حلقه callback کیبورد کارش را انجام می‌دهد، بصورت موازی.

----------
@roboticknowledge
4
#Genesis

درباره شبیه‌ساز Genesis یک جریان هیجانی وجود دارد که فکر می‌کنم کمی آرام بگیرد.

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

یک بحثی است که دیده‌ام بیان می‌کنند که این شبیه‌ساز از یک غول مانند Isaac Sim بهتر است. چند نکته بنظرم می‌آید:

۱. در همین مواردی که در تصویر بیان شده، سه مورد اول در Isaac Sim وجود جدی و قوی دارد. تنها مورد چهارم است که من در داکیومنت‌های Isaac Sim ندیده‌ام و در این شبیه‌ساز Genesis برایم جالب خواهد بود.

۲. شبیه‌ساز Isaac Sim یک اکوسیستم است که خود بر اساس Omniverse است که مختص مدل‌سازی و انمیشن و گرافیک و غیره است. پشتوانه فنی این مجموعه Nvidia است. این شبیه‌ساز چیزی نیست که براحتی توسط چیزی دیگر کنار زده بشود.

۳. بسیاری از چیزهایی که در Genesis مورد علاقه می‌تواند باشد هنوز متن باز نشده است و مادامی که آن‌ها در دسترس نباشند، خیلی روی همه ادعاها نباید حساب کشید.

۴. اینکه Genesis هسته متن باز خواهد داشت قشنگ است. شبیه‌ساز Isaac Sim متن باز نیست.

----------
@roboticknowledge
🫡3
Robotic Knowledge
#Genesis درباره شبیه‌ساز Genesis یک جریان هیجانی وجود دارد که فکر می‌کنم کمی آرام بگیرد. به این معنا نیست که بگویم این شبیه‌ساز بد است یا خوب نیست، ابدا، زیرا آن را امتحان نیز نکرده‌ام. اما اول این چیزها همیشه یک هیجانی وجود دارد. یک بحثی است که دیده‌ام…
#Isaac

اینکه گفته می‌شود Isaac Sim یک اکوسیستم رباتیکی است در مورد چهارم اینکه همین فردا یک اکستنشن برای ویژگی generative data engine می‌تواند توسط Nvidia یا توسط افراد علاقه‌مند برای این شبیه‌ساز ایجاد شود، بصورت فنی قابلیت اضافه کردن ویژگی‌های این چنینی در این شبیه‌ساز مقدور است.

هسته Isaac Sim که بر اساس Omniverse است متن باز نیست، اما بسیاری از ویژگی‌های آن بصورت Extension های رسمی و غیر رسمی ایجاد شده‌اند که متن باز هستند.

یک نمونه خیلی قوی Isaac Lab است که در واقع افزونه رسمی برای RL در اکوسیستم Isaac Sim است و البته متن باز نیز می‌باشد.

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

این شبیه‌ساز Isaac Sim حتی با سال قبل خودش نیز سخت قابل مقایسه است زیرا شدیداً تحت توسعه است.

در هر صورت در کار و استفاده باید دید چجوری می‌توان مسأله را حل کرد. با هر شبیه‌سازی که کارتان راحت پیش می‌رود، آن شبیه‌ساز چیز خوبی است. :) می‌خواهد Isaac باشد یا Genesis!

----------
@roboticknowledge
🤯31
Robotic Knowledge
Photo
#تجربه

فکر نمی‌کردم مردم اینقدر ریاضی کاربردی برای رباتیک را چنانچه ساده باشد دوست داشته باشند! بعد از قرار دادن این دو اسلاید در LinkedIn تا الان بیش از ۵۰ درخواست کانکشن و فالور جدید (تعدادی را دیشب قبول کردم برای همین در تصویر الان عدد ۳۵ است) به شبکه من اضافه شده است!
----------
@roboticknowledge
🏆8🍾1
#Nvidia #Isaac
#ته‌دیگ

آیا ته‌دیگ رباتیک به ما می‌رسد؟

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

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

در هر صورت نامردا چیزی برای ما هم بذارید! :)
ما به یه خورده ته‌دیگ هم توی رباتیک راضی هستیم. 😋

----------
@roboticknowledge
😁3👨‍💻2
Robotic Knowledge
#Nvidia #Isaac #ته‌دیگ آیا ته‌دیگ رباتیک به ما می‌رسد؟ جوری که Nvidia و بقیه در حال درو کردن سرعتی و سنگین در رباتیک هستند، گاهی مردد می‌شوم که چیزی به ما می‌رسد یا نه. در هر صورت دوره هوش مصنوعی هست و عجیب نیست که یک سال دیگه چیزهایی ببینیم که بهش اصلأ…
اینکه چرا نگران #ته‌دیگ رباتیک هستم، همین چیزها هست که دو ماهی یه بار با کلی پیشرفت و چیز میز جدید میان وسط میدون.

کلا چسبیدن به این جریان قرار نیست ساده باشه، چون سرعت بالایی داره.

----------
@roboticknowledge
😁4
This media is not supported in your browser
VIEW IN TELEGRAM
#Isaac

اینجا بخشی از اکوسیستم Isaac که مدیرعامل Nvidia آن را گروه Nvidia Isaac Group می‌نامد، برای آموزش ربات‌های انسان‌نما ارائه شده است.

معنای تولید داده Synthetic برای آموزش گسترده و domain randomization بر اساس امکانات Omniverse اینجا مشاهده می‌شود.

----------
@roboticknowledge
6
در کنار Tesla Bot :)

----------
@roboticknowledge
10