Robotic Knowledge
381 subscribers
242 photos
62 videos
2 files
172 links
دانش و برنامه‌نویسی برای رباتیک
Download Telegram
#Meme
وقتی که بهتر است ربات نداند چه کاربری دارد! 😂

----------
@roboticknowledge
😁8👨‍💻11
#Tools

گاهی اوقات لازم است تا دوران‌ها را بررسی کنیم تا اطمینان پیدا کنیم ار برخی تبدیل‌ها. این وبسایت برای این چک‌ها خیلی خوب است:
https://www.andre-gaschler.com/rotationconverter/
مثلا دیتای nav_msgs/Odometry جهت‌گیری را با quaternion فرستاده است و شما می‌خواهید سریع roll-pitch-yaw را بررسی کنید. این ابزار اینجا به کار می‌آید!

—————
@roboticknowledge
🏆33🍾2
#ROS #Tools

زوایای دوران را در بسیاری از مواقع دوست داریم به بازه [pi pi-] انتقال دهیم. چرا؟ ما میدانیم که زاویه 380 درجه برابر با زاویه 20 درجه است و با این تبدیل همواره زوایای جهت‌گیری را در محدوده [pi pi-] نگه می‌داریم. مهم‌ترین مکان برای این تبدیل در بحث یادگیری ماشین است که تلاش می‌شود ورودی‌های شبکه بصورت normalized بشوند تا یادگیری آسان‌تر بشود.

به این تبدیل ssa یا smallest signed angle گفته می‌شود. فرمول ریاضی این تبدیل بصورت زیر است:


signed reminder((angle + pi), 2pi) - pi


در ROS یک کتابخانه وجود دارد به نام angles که این را پیاده‌سازی کرده‌اند و شما می‌توانید این تبدیل را براحتی انجام دهید:

static double angles::normalize_angle (double angle)


می‌توانید داکیومنت همه توابع این کتابخانه را اینجا ببینید:
https://docs.ros.org/en/jade/api/angles/html/angles_8h.html

—————
@roboticknowledge
6
#Planning

کمی در حال مطالعه درباره ماژول‌های safety در ربات‌های خودران بودم و مفاهیم جالبی را متوجه شدم. اساس مباحث safery و سطح آن خروجی یک ماژول است که Collision Check and Prediction نام دارد. گارانتی ایمنی (در سطوح مختلف) در برابر تصادف بر اساس عملکرد و طراحی این ماژول تعیین می‌شود. با این که تنها یک ماژول در Autonomy Stack یک ربات مدرن است، اما دنیایی دارد و ریاضیات آن نیز از ساده تا پیچیده را در بر می‌گیرد. از بررسی‌های ساده هندسی تا PDE‌ها و آمار و احتمال.

شاید برخی مفاهیم رایج در ماژول Collision Check and Prediction را بعدا پست کردم.
—————
@roboticknowledge
31
Robotic Knowledge
#Planning کمی در حال مطالعه درباره ماژول‌های safety در ربات‌های خودران بودم و مفاهیم جالبی را متوجه شدم. اساس مباحث safery و سطح آن خروجی یک ماژول است که Collision Check and Prediction نام دارد. گارانتی ایمنی (در سطوح مختلف) در برابر تصادف بر اساس عملکرد…
#Planning

این بحث collision checking الگوریتم‌های فراوانی دارد که عمده آن‌ها برای کارهای گرافیکی ایجاد شده‌اند. موتورهای گرافیکی در رندر کردن بازی‌ها و انیمیشن‌ها رفتار اجسام را با در نظر گرفتن برخورد یا عدم برخورد آن‌ها پس از collision checking مدل می‌کنند. در یک صحنه بازی یا انیمیشن هزاران قطعه صلب و الاستیک وجود دارند که در هر فریم باید وضعیت حرکت و برخورد آن‌ها حل شود. در واقع صنعت بازی‌سازی و گرافیک بر این پاشنه می‌چرخد. سرریز این کار به ایجاد safety همراه با ضمانت برای جلوگیری از تصادف در ربات‌های خودران رسیده است!

—————
@roboticknowledge
2
#Meme

حقیقت در این میم موج می‌زند.

@roboticknowledge
4🫡3
#طراحی

برای طراحی manual را بخوانید.

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

فرضا یک حامل یا career برای یک LiDAR طراحی می‌کنید. در Manual الزامات mount آن سنسور آورده شده است. اگر سنسور گرم شود، نیاز به یک heat sink دارد که احتمالا باید آلومینیومی باشد. فضای مفید آن heat sink و صخامت آن و سطح هواخور ابتدایی‌ترین‌ چیزهایی است که در دفترچه آمده و شما باید در طراحی در نظر بگیرید.

----------
@roboticknowledge
2
Robotic Knowledge
#طراحی برای طراحی manual را بخوانید. اگر برای رباتی چیزی طراحی می‌کنید که به چیزهای دیگر وابسته است، با دقت manual آن چیزها را بخوانید که تعدادی از الزامات طراحی از آن سمت مطرح خواهد شد. فرضا یک حامل یا career برای یک LiDAR طراحی می‌کنید. در Manual الزامات…
جایی یک رباتی را دیدم که همان LiDAR ای را داشت که من دارم. مستقیم سنسور را بر روی یک career از جنس PLA قرار داده بودند! مشخص بود شخص/تیم طراح الزامات #طراحی را متوجه نشده بود یا اهمیت نداده بود.

----------
@roboticknowledge
1
#سنسور
#UWB

بر اساس مفهوم ToF نوع دیگری از سنسور وجود دارد که Ultra Wideband نام دارند اما فاصله را بر اساس مسافت طی شده سیگنال الکترومغناطیسی (و نه نور یا لیزز) اندازه‌گیری می‌کنند.

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

این آموزش در این مورد صحبت می‌کند:
https://core-electronics.com.au/guides/sensors/getting-started-with-ultra-wideband-and-measuring-distances-arduino-and-pico-guide/

در برخی از سناریوها و کاربردهای محدود احتمالا می‌‌توان از UWB استفاده کرد. ساده است.

----------
@roboticknowledge
3