Robotic Knowledge
Open in Telegram
دانش و برنامهنویسی برای رباتیک DM: https://t.me/HarfinoBot?start=48a8902f7ff4405
Show more271
Subscribers
No data24 hours
-17 days
+1330 days
Data loading in progress...
Similar Channels
Tags Cloud
No data
Any problems? Please refresh the page or contact our support manager.
Incoming and Outgoing Mentions
---
---
---
---
---
---
Attracting Subscribers
December '24
December '24
+29
in 1 channels
November '24
+13
in 0 channels
Get PRO
October '24
+11
in 0 channels
Get PRO
September '24
+3
in 0 channels
Get PRO
August '24
+15
in 0 channels
Get PRO
July '24
+12
in 0 channels
Get PRO
June '24
+5
in 0 channels
Get PRO
May '24
+11
in 0 channels
Get PRO
April '24
+22
in 0 channels
Get PRO
March '24
+3
in 0 channels
Get PRO
February '24
+10
in 0 channels
Get PRO
January '24
+12
in 0 channels
Get PRO
December '23
+17
in 0 channels
Get PRO
November '23
+8
in 0 channels
Get PRO
October '23
+237
in 0 channels
| Date | Subscriber Growth | Mentions | Channels | |
| 21 December | 0 | |||
| 20 December | 0 | |||
| 19 December | +1 | |||
| 18 December | 0 | |||
| 17 December | +1 | |||
| 16 December | 0 | |||
| 15 December | 0 | |||
| 14 December | +1 | |||
| 13 December | 0 | |||
| 12 December | +2 | |||
| 11 December | +3 | |||
| 10 December | +1 | |||
| 09 December | 0 | |||
| 08 December | 0 | |||
| 07 December | +1 | |||
| 06 December | +4 | |||
| 05 December | +6 | |||
| 04 December | 0 | |||
| 03 December | 0 | |||
| 02 December | +5 | |||
| 01 December | +4 |
Channel Posts
#ROS2 #Nav2
یکی از Stack های مهم در اکوسیستم ROS2 استک Nav2 هست. این خبر را دیدم درباره Nav2 و بنظرم مهم است. در واقع یادگیری استکهای مهم مانند همین Nav2 (برای رباتهای پایه متحرک) بسیار مهم است - در سطح توسعه پیشرفته. یادگیری اینها ساده نیست و به زمان و انرژی نیاز دارد، اما بلند مدت ارزش آفرین خواهد بود. Moveit2 در بازوان رباتیک هم همین داستان را دارد.
—————
@roboticknowledge
| 2 | #Atlas #Boston_Dynamics
https://youtube.com/shorts/mWn5KjWeNas?si=L08A8dAZmxMQOi4u
—————
@roboticknowledge | 123 |
| 3 | #ROS2 #Foxglove #Rviz2 #Tools
چنانچه تا کنون از rviz برای ترسیم دادههای ربات خود استفاده میکردید، شما را به استفاده از Foxglove دعوت میکنم.
فاکس گلو بسیار سادهتر، تطبیقپذیرتر، و دوستانهتر از rviz2 میباشد. همچنین درگیر مسائل سردردآور کمتری میشوید.
—————
@roboticknowledge | 222 |
| 4 | #وسیله_خودران
خودرانهای سرعت بالا: https://youtu.be/7mBj88SMlUs
—————
@roboticknowledge | 196 |
| 5 | https://www.youtube.com/watch?v=x2v0zY_rH44
Design and implementation of a localization node for a ROS2 + Webots simulated ROSBot: The results
You can see how the localization node [That I have developed] is performing in providing feedback for positioning of the simulated ROSbot in Webots that has a ROS2-based software.
The localization node uses IMU data (for finding the robot global orientation) and Wheels Encoder data (for calculating velocity of the robot). Then the algorithm updated local position using a simple 2DoF kinematic model. I have developed the algorithm using Model-based Development (MBD) approach in Simulink, then deployed the generated C++ code in the ROS2 simulation package.
I will provide later a complete video for sharing how the node has been developed and implemented.
The localization node of the ROSbot in ros2webots_rosbot package: https://github.com/MJavadZallaghi/ros2webots/blob/main/ros2webots_rosbot/src/rosbot_localization_node.cpp
#ROS2Webots #Webots #ROS2
—————
@roboticknowledge | 160 |
| 6 | #ROS2 #Time #Algorithm
در پردازش دادههای سنسور زمان اهمیت فراوانی دارد. الگوریتم شما باید دادههای را بصورت Syncron از سنسورها یا نودهای دیگر دریافت کند. چنانچه این اتفاق محقق نشد، الگوریتم ربات شما محاسبات غلطی انجام خواهد داد.
در سیستمهای متکی بر Event مانند سیستم Pub/Sub موجود در ROS، ممکن است به هر دلیلی دیتا بصورت Sync به الگوریتم شما نرسد. برای کنترل آن شرایط، ابتدا باید متوجه بشوید که تاخیر در رسیدن داده وجود دارد. اما چگونه؟ هر سنسوری در دیتایی که منتشر میکند، در فیلد هدر یک Time stamp به داده میزند. کافی است شما هنگام دریافت داده آن Time stamp را را با زمان سیستم دریافت کننده مقایسه و کنترل کنید.
همچنین این کار را برای آنچه که الگوریتم نیز منتشر میکند باید انجام بدهید. برای مثال، من در انتشار دادههای خروجی نود موقعیتیابی ربات Time stamp را به این شکل در ++C پر میکنم:
auto current_time = std::chrono::system_clock::now();
auto timestamp = std::chrono::duration_cast<std::chrono::seconds>(current_time.time_since_epoch());
message.header.stamp.sec = static_cast<uint32_t>(timestamp.count());
message.header.stamp.nanosec = static_cast<uint32_t>((current_time.time_since_epoch() - timestamp).count());
—————
@roboticknowledge | 228 |
| 7 | #مفاهیم #موقعیت_یابی #Localization
در بحث موقعیت یابی (Localization) دو عبارت INS و IMU زیاد استفاده میشود که باید مراقب باشید آنها متفاوت از هم هستند:
An IMU is a combination of multiple accelerometers and gyroscopes axes. Traditionally, an IMU is built with an accelerometer and gyroscopes to measure absolute spatial displacement. In comparison, an INS is a system integrating an IMU combined with a GPS/GNSS/GLONASS chip and computational skill.
بنابراین دیگر دچار این اشتباه نمیشوید که چنانچه رباتی تنها IMU دارد، میتوانید برای آن سیستم موقعیتیابی جهانی توسعه دهید.
—————
@roboticknowledge | 274 |
| 8 | #ROS2
#Simulink
#Algorithm
#Design
#Tools
در ادامه امکانات مربوط به لاگهای ROS (فایلهای bag)، مورد محبوب دیگری نیز وجود دارد: Simulink
در سیمولینک بلوکهای برای خواندن این فایلها وجود دارد. برای مثال من در تصویر دیتای IMU را (شتاب خطی) ترسیم کردهام. این امکان به شما در توسعه الگوریتم سرعت بالایی میدهد؛ براحتی فایلهای لاگ را بالا میاورید و با دادههای آن الگوریتم را توسعه میدهید و تست میکنید - همین کار را من برای Localization دارم انجام میدهم. نهایتا میتوان از الگوریتم نیز کد هسته آن را تولید کرد — توسط Code Generation (بعدا در این مورد صحبت خواهم کرد).
—————
@roboticknowledge | 258 |
| 9 | #ROS2
#bag
#tools
یک کتابخانه بسیار کاربردی دیگر برای تبدیل فایلهای bag نیز وجود دارد: rosbags
pip install rosbags
با این ابزار میتوانید در ترمینال فایلهای لاگ را از ROS2 به ROS1 و بر عکس تبدیل کنید. اهمیت این مورد در این است که خیلی از مواقع ابزارهای پردازش bag بهتری برای ROS1 وجود دارد (مانند ROS Bag Viewer در Simulink). تبدیل نیز بدین شکل است:
rosbags-convert <ros2_bag_folder>
—————
@roboticknowledge | 232 |
| 10 | #ROS2
#bag
#tools
با کتابخانه rqt_bag در ROS2 میتوانید play شدن یک bag file را به مانند موسیقی کنترل کنید (امکان ویرایش bag را نیز دارد):
ros2 run rqt_bag rqt_bag
همچنین در تایم لاین لحظه انتشار دیتای یک تاپیک با خط آبی مشخص میشود (به مانند تصویر) که در پابلیشرهای آسنکرون امکان دیباگ بهتری به شما میدهد.
—————
@roboticknowledge | 195 |
| 11 | #پژوهش
#توسعه
دوست عزیزی فیلم تور آزمایشگاه CSAIL شاخه رباتیک در MIT را برای من فرستادند که در ۱۲ دقیقه شاخههای کاری و تمرکز پژوهشی آزمایشگاه همراه با دمو ارائه شده است که دیدن آن خالی از لطف نیست:
https://www.youtube.com/watch?v=l5o_edsg_nU
----------
@roboticknowledge | 265 |
| 12 | https://www.youtube.com/watch?v=JhZ4r2N13BY
Simulating a Keyboard-Controlled Rosbot using Webots and ROS2 with Reviewing the Code
I have presented my ros2webots_rosbot package in this video. In this ros2 package, I have simulated a Rosbot in Webots, that is being controlled by arrows of the keyboard. The robot's driver is a python node, and the node that prepares data from the keyboard for the robot, is a C++ node. Also, I have made ROS2 topics for the data of the robot, like IMU and LiDAR data, ready to be used in the next development of the package. The key points of setting the integrated ROS2 and Webots simulation are covered in the video.
You can find the project repo here:
https://github.com/MJavadZallaghi/ros2webots
The lecture has been prepared by Mohammad Javad Zallaghi from roboticknowledge Youtube channel. Also, you can find our telegram channel here: https://t.me/roboticknowledge
#ROS2Webots
#Webots
#ROS2
—————
@roboticknowledge | 294 |
| 13 | #ROS3
#URDF
#TF
#rviz2
امروز در تلاش برای نشاندادن دیتای ربات خود با کمک rviz2 بودم. برای این منظور، نیاز داشتم تا تمام دستگاههای مختصات ربات را بصورت TF پابلیش کنم و باید فایل توضیح ربات URDF را در Node پابلیشر TF های ربات لود میکردم تا نیاز به تعریف دستگاهها بصورت دستی نباشد.
در ROS 1 این کار به راحتی انجام میشود - با تعریف URDF به عنوان پارامتر - اما در ROS 2 این کار بسیار سخت شده است - باید URDF را بصورت رشته در Node باز کرد که داستانهای Parse فایل و ... بسیار روی مخ و اذیت کننده است.
----------
@roboticknowledge | 233 |
| 14 | #MJ
نمودار فعالیت من در گیتهاب در سال 2023.
در 6 ماه نخست بصورت محدود اما پیوسته بر روی مسابقات شبیهسازی کنفرانسهای ICRA2023 و IROS2023 کار کردم. نتیجه کار نه چندان سنگین اما پیوسته من قهرمانی در مسابقات IROS2023 بود.
اکنون یک پروژه شبیهسازی سنگین بر اساس ترکیب Webots و ROS2 شروع کردهام و به هر نقطهای که برسد، یک ویدئو از آن نقطه ضبط خواهم کرد و در یوتوب نشر خواهم داد.
از این مطلب سه هدف داشتم: 1- بیان اینکه اتفاقهای بزرگ برآیند مجموعهای از گامهای کوچک اما پایدار هستند. 2- در هر نقطهای که هستید، منتظر کسی یا چیزی نمانید و دائم در حال تلاش پیوسته باشید. 3- اینکه محتوای آینده کانال در 2024 به شکلی خواهد بود - که البته برای آینده حرفهای Robotic Software Development بسیار کمککننده میتواند باشد.
آرزو میکنم که همه انشاالله در سال 2024 پیشرفت پایداری را تجربه کنیم.
—————
@roboticknowledge | 289 |
| 15 | #ROS2Webots
#Webots
#ROS2
https://www.youtube.com/watch?v=q8F_s_MX_Is
In this video, I have shown how you can set up the interface between ROS2 (runs on Ubuntu 22.04 over WSL2) and Webots (Installed on Windows 10). This way, you will be able to:
— develop your robot software using the power of ROS2, and its decentralized architecture with lots of available packages.
— Model easily or use lots of available robots and robotic worlds inside the Webots.
— Get rid of Gazebo!
The video has been prepared by Mohammad Javad Zallaghi, from @roboticknowledge channel.
—————
@roboticknowledge | 405 |
| 16 | #ROS2Webots
#Webots
#ROS2
قدرت شبیهساز Webots را با توسعه بر اساس ROS2 بیشتر در پروژههای خود بکار بگیرید.
در اکوسیستم ROS/ROS2 شبیهساز رایج Gazebo میباشد.
اگر تجربه کاربری Webots را بعنوان شبیهساز رباتیک داشته باشید، خواهید دید که Gazebo در مقابل Webots یک تکه آشغال هست.
یک پل بسیار ویژه وجود دارد که به لطف آن قدرت ROS2 را در Webots میتوانید داشته باشید:
The webots_ros2 package: An interface between ROS 2 and Webots.
با این امکان، رباتهای خود را در Webots با ROS2 برنامهنویسی میکنید — و از تمام پکیجهای در دسترس میتوانید استفاده کنید تا معماری توزیع شده برنامه ربات را توسعه دهید.
اگر ویندوز دارید و Webots بر روی ویندوز نصب است، صرفا کافی است تا بر روی WSL نسخه Iron راس 2 را نصب کنید؛ سپس
sudo apt-get install ros-iron-webots-ros2
مراحل کامل را اینجا دنبال کنید. با لانچ این دمو در WSL از برقراری ارتباط مطمئن شوید:
ros2 launch webots_ros2_universal_robot multirobot_launch.py
اگر شبیهسازی 2 ربات در حال جابجایی قوطی نوشابه بالا آمد، تبریک میگم؛ به دنیای ترکیبی ROS2Webots خوش آمدید!
سعی میکنیم چند پروژه ساده را توسعه دهیم و فیلم آموزش کامل آنها را ضبط کنیم و در ادامه آموزشهای Webots در کانال دانش رباتیک منتشر کنیم.
—————
@roboticknowledge | 222 |
| 17 | @roboticknowledge | 233 |
| 18 | #Tools
با دستور cowsay میتونید از اینا درست کنید توی ترمینال لینوکس.
کاربرد؟ نداره و صرفا باحال هست - خصوصا هنگام شروع توضیح یه چیزی توی ترمینال. 😃
___________________
< @roboticknowledge >
-------------------
\ ^^
\ (==)\_______
()\ )\/\
----w |
|| | 233 |
| 19 | #اجزا_ربات
#کامپوتر_ربات
#ربات_پایه_متحرک
#دلیوری
امروز که درباره کامپیوتر صحبت کردیم، بصورت اتفاقی در لینکدین یه ربات دلیوری دیدم که توسعه دهنده اون اجزا اساسی اون رو لیست کرده بود و بنظرم جالب اومد ترکیبی که دوستمون چیده بود. از Teensy برای کنترل موتورها استفاده کرده بود و Jetson Nano هم که کامپیوتر اصلی بوده. لایدار و IMU و انکودر چرخ هم که لازم هستند خیلی زیاد، به کار گرفته شدن.
----------
@roboticknowledge | 247 |
| 20 | #کامپوتر_ربات
برخی موارد اشاره شده:
🟢 NVIDIA Jetson
🟢 NVIDIA Jetson Orin Nano
🟢 NVIDIA Jetson Orin NX
🟢 NVIDIA Jetson AGX Orin
🟢 Jetson Xavier NX
The NVIDIA Jetson family delivers the performance and power efficiency needed to build autonomous machines at the edge. With AI performance of up to 275 TOPS, NVIDIA Jetson AGX Orin modules can run multiple AI inference pipelines simultaneously and support high-speed interfaces to multiple sensors. From the entry-level Jetson Orin Nano series modules to the highest-performance Jetson AGX Orin series, it is ideal for the new era of robotics.
----------
@roboticknowledge | 210 |
