How to Build a Robot Using Omni Wheels

Поделиться
HTML-код
  • Опубликовано: 14 июл 2024
  • A tutorial on using omni wheels to build a robot platform, their pros and cons, and some troubles I encountered along the way.
    Video is sponsored by: www.pcbway.com
    OMNi was developed in collaboration with EDM Studio: www.edmstudio.com
    GitHub repo: github.com/WillDonaldson/OMNi
    Explore the robot assembly: a360.co/3sjGSAt
    Project write up: hackaday.io/project/181888-omni
    OMNi is a DIY open-source robotic platform built on the ROS2 framework. OMNi ultilizies a LiDAR scanner, interial measurement unit, and motor encoders to autonomously navigate indoor environments using a SLAM algorithm (Simulatenous Localization And Mapping).
    Support the creation of more content like this: www.buymeacoffee.com/WillDona...
    Clips referenced in this video:
    Aviv Makes Robots: • I Built a Military Rob...
    Luo Xing: • ftc Swerve Drive
    Sanford L: • FTC Swerve Drive Proce...
    Adrian Hayden: • Swerve Drive Test: FRC...
    How to Mechatronics: • Arduino Mecanum Wheels...
    Northwestern Robotics: • Modern Robotics, Chapt...
    Components I use:
    Arduino Uno: amzn.to/30WTweL
    Raspberry Pi: amzn.to/3qI5ouf
    Arduino Nano: amzn.to/3mwClIy
    Follow me:
    Instagram: / _willdonaldson_
    TikTok: / _willdonaldson_
    Twitter: / _willdonaldson_
    Website: www.willdonaldson.io
    GitHub: www.github.com/WillDonaldson
    Chapters:
    0:00 Don't Reinvent the Wheel
    0:40 Building a Motor Drivetrain
    2:25 What Other Options Are There? Pros & Cons?
    4:51 Assembly
    5:48 Electronics
    6:45 Control Software
    Disclaimer:
    Links in this description may be affiliate links. If you purchase a product or service through the links I provide I may receive a small commission. This helps support the channel and enables me to pursue bigger and better projects. Affiliate links include no additional charge to you.
  • НаукаНаука

Комментарии • 23

  • @WillDonaldson
    @WillDonaldson  Год назад

    Quick explanation on the seemingly unusual orientation of the coordinate axes at 7:12. This orientation was chosen to remain consistent with ROS REP103: x-axis in the forward direction and y-axis in the left direction. For more information: www.ros.org/reps/rep-0103.html

  • @Al-kz2cf
    @Al-kz2cf Год назад +4

    I hate how underated this man is, he created an amazing prosthetic arm model with just 150 bucks.

  • @WhiteBeansYT
    @WhiteBeansYT Год назад +2

    Fantastic Thumbnail, Great Production Value, AND Brilliant Content?? Great stuff as always Will!

  • @obensustam3574
    @obensustam3574 Год назад +1

    It was such a great video. Please continue to create this kind of qualitative content when you are available. Thank you so much.

    • @WillDonaldson
      @WillDonaldson  Год назад +1

      Thanks! I've been busy recently but I am in the process of making a couple more videos in the OMNi series, should be coming mid-April!

  • @PhG1961
    @PhG1961 Год назад +1

    Awesome and great ingenuity !

  • @Jdehsianssn
    @Jdehsianssn 7 месяцев назад

    Awesome video!
    Now I'm rooting for the video on how to control the motor speed 😮

  • @Ducerobot
    @Ducerobot Год назад

    Love hand build cool video👍 ......all my attempt's are hand builds.

  • @puntabachata
    @puntabachata Месяц назад

    You could reduce the weight by using a honeycomb panel instead of the solid aluminum plate.

  • @qozia1370
    @qozia1370 9 месяцев назад

    For the boe bot example you can make it much much much smoother by adjusting in small increments.
    Do not turn the wheels opposite directions.
    Make a function called smooth turn, this function accepts two speeds, one wheel should be 100% in the forward direction for example while the other only 20%
    This will make it slowly go back to track without the jerking seen in 3:39

  • @sathishAdAi
    @sathishAdAi 8 месяцев назад

    Superb and i really happy after seeing this innovatives. The same i would like to make so how can i purchase the full project reports.
    Please support.

  • @pranavpatil7312
    @pranavpatil7312 2 дня назад

    Hi sir ,
    I wnat ti implement a CAN communication protocols to control robots .
    I am not getting any guidance please help me I am also struggling to find the Motor driver for DC motor which is compatible with CAN.
    Also how should I start to work with CAN??
    PLEASE REPLY.

  • @vandat7304
    @vandat7304 3 месяца назад

    I want to buy your motor but I don't know its code you can give me
    ???

  • @ashiq_houque8847
    @ashiq_houque8847 Год назад

    Hey I am currently doing a school project and I want to make a robot with omni wheels, its possible for you to give me the link to buy these dc motors and omni wheels please ?

    • @WillDonaldson
      @WillDonaldson  Год назад +1

      Omni wheels: ca.robotshop.com/products/127mm-double-aluminum-omni-wheel-bearing-rollers
      DC motors: www.servocity.com/5202-series-yellow-jacket-planetary-gear-motors/
      Mounting hardware for motors was also purchased at Servo City

    • @ashiq_houque8847
      @ashiq_houque8847 Год назад

      @@WillDonaldson Thanks a lot :)

  • @hypocritical7379
    @hypocritical7379 8 месяцев назад

    GOBILDA!!!! were you on an ftc team.....

  • @mdandry
    @mdandry Год назад

    Good video. I am currently designing a 3 wheel holonomic robot and trying to find as much info as I can. Would you be available to chat sometime via email?

    • @WillDonaldson
      @WillDonaldson  Год назад +1

      Happy to hear you liked the video! I have a limited bandwidth for responding to emails pertaining to custom projects, but if you leave questions in the comments I can respond to them here. I prefer this method as it gives other people with similar questions access to information too

    • @mdandry
      @mdandry Год назад

      @@WillDonaldson fair enough 👍🏻 I’m very much a beginner, but have always tinkered around. I’m designing a similar bot that is based on downward edge detection/avoidance instead, it is also suppose to travel horizontally as well. There is more to it of course. One of the objectives I’m trying to work out right now is how to track the edge perimeter of a surface then navigate within that area. I have considered many ways of doing it, but trying to figure out what would be the most efficient method. Currently the idea of using encoders to basically map a grid to work in is on my mind. What do you think?

    • @WillDonaldson
      @WillDonaldson  Год назад +1

      @@mdandry There are a few ways this could be done, is the perimeter defined by vertical walls? If so, you could use a LiDAR scanner like I showed in this video to detect the walls: ruclips.net/video/yVMUGBplRWo/видео.html I will make more videos on LiDAR in the future. Alternatively, a cheaper option could be to use an ultrasonic distance sensor or a time of flight sensor, but both of these have a limited field of view. If the perimeter is marked out on the floor then a infrared sensor can detect the edge transition from reflective white materials to absorbent black materials, and visa-versa. This video I recently made isn't a tutorial per se but demonstrates the principle of infrared edge detection in a line following robot ruclips.net/video/7zEOnuckTdQ/видео.html
      Regarding the use of encoders, theoretically you can track and map position by measuring the number of rotations of the wheel and mapping that to a distance. But in practice it never works since the wheels will slip on the surface (especially when turning) and your measurements will begin to drift. If you want to research more into this topic and assess it's pros and cons you'll want to look up "encoder dead reckoning"

    • @mdandry
      @mdandry Год назад

      @@WillDonaldson helpful tips for sure. In this instance a surface drop off is what defines the perimeter. I am using downward facing ultrasonic sensors currently for this and it works quite fine. Im suck on how to use the edge location as a work surface perimeter and how to navigate within it autonomously. There are details I won’t be mentioning here, but the basics of what I’m trying to do I’ll share for sure.
      I don’t expect you to solve my problems in this comment section, but I will continue to discuss it here if you have interest. Any and all help is appreciated 🙌🏻