Robotic Knowledge
382 subscribers
242 photos
62 videos
2 files
170 links
دانش و برنامه‌نویسی برای رباتیک
Download Telegram
#Tools #CAD
#URDF #SDF
#Gazebo

مدل‌های شبیه‌سازی رباتی که همراه با mesh هستند و جزئیات خوبی دارند، توسط نرم‌افزارهای CAD آماده می‌شوند و به صورت URDF خروجی گرفته می‌شوند - نوشتن آنها با دست تقریبا غیرممکن است.

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

من قبلاً SOLIDWORKS کار کرده بودم و یادگیری یک نرم‌افزار دیگر مثل FreeCAD در چنین حالتی بسیار ساده است زیرا معمولا روش‌ها و ابزارهای CAD همه قواعد یکسان دارند.

چرا FreeCAD؟

- رایگان است و کم حجم.
- ساده است و قوی.
- برای استخراج URDF یک workbench رباتیک دارد و خیلی راحت‌تر از SOLIDWORKS این کار را انجام می‌دهد.
- بر روی Ubuntu 22 نصب می‌شود.

گزینه‌های دیگری مثل Fusion360 یا Blender نیز با پلاگین خروجی URDF می‌دهند، اما اگر سادگی ملاک باشد، آن هم در سن ۲۶ سالگی برای یک رباتیک کار چیزی مثل Blender انتخاب خوبی نیست. ترجیح می‌دهم وقتم را صرف چیز پیچیده دیگری بکنم! 🙂
----------
@roboticknowledge
👍4
Robotic Knowledge
#Tools #CAD #URDF #Gazebo #ROS2 نکته تکمیلی اول: من از ورک‌بنچ CROSS برای ایجاد مدل URDF در FreeCAD استفاده می‌کنم. ‌ تصویر از محیط FreeCAD من به همراه نمودار درختی ربات ایجاد شده با کمک CROSS گرفته شده است. ————— @roboticknowledge
#Tools #CAD
#URDF
#Gazebo #ROS2

نکته تکمیلی دوم: CROSS آموزش ندارد. 😂 حتی داکیومنت خاصی هم ندارد!
با تعداد زیادی آزمون و خطا آموختم از آن استفاده کنم. ابزار Set Placement آن‌ها که در تعریف مکان مفصل کاربردی است، باگ دارد و من راه دیگری برای تعریف مفصل پیدا کردم.
این ابزار توسط گروه یک استاد در دانشگاه پراگ جمهوری چک توسعه داده شده است - کلا در رباتیک این دانشگاه خدمات متن باز زیادی داده است - دمشان گرم.
—————
@roboticknowledge
👍4
Robotic Knowledge
#Tools #CAD #URDF #Gazebo #ROS2 نکته تکمیلی دوم: CROSS آموزش ندارد. 😂 حتی داکیومنت خاصی هم ندارد! با تعداد زیادی آزمون و خطا آموختم از آن استفاده کنم. ابزار Set Placement آن‌ها که در تعریف مکان مفصل کاربردی است، باگ دارد و من راه دیگری برای تعریف مفصل پیدا…
#Tools #CAD
#URDF
#Gazebo #ROS2

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

—————
@roboticknowledge
👍3
#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/Float32@ignition.msgs.Float'],
output='screen'
),

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