No video

How to Use Mecanum Wheels in 200 Seconds

An animated guide to using mecanum wheels or omni wheels. This video visually demonstrates how to mount and program mecanum wheels.
The code in this video was created for FTC using the Qualcomm RobotCore platform, but it should be trivial to translate to a different programming language.
Chapters:
0:00 Intro
0:24 Mounting
1:02 Programming
3:02 End
Programs used:
Blender
Adobe After Effects
Adobe Illustrator
Desmotion (Developed by a friend and me)
link: www.monkeyflowermath.com/desm...
Krita
Audacity
HitFilm Express

Пікірлер: 34

  • @Gavin_4D
    @Gavin_4D Жыл бұрын

    IMPORTANT CORRECTION: In method 2, inside of the if statement the turn values should be inside of absolute value functions: If ((power + Math.abs(turn)) > 1) { leftFront /= power + Math.abs(turn); rightFront /= power + Math.abs(turn); leftRear /= power + Math.abs(turn); rightRear /= power + Math.abs(turn); }

  • @CarlDoesEverything
    @CarlDoesEverything Жыл бұрын

    By far the best video I've ever found to describe mecanum drive. Absolutely wonderful, keep up the good work!

  • @yogpanjarale
    @yogpanjarale Жыл бұрын

    Amazing visuals, explanations, love the video style 🙌🏻pls keep making videos

  • @teodorvangelov
    @teodorvangelov2 жыл бұрын

    Thanks. Really well made video.

  • @LeoDaLionEdits
    @LeoDaLionEdits2 жыл бұрын

    Super well made video

  • @elywickander4666
    @elywickander46662 жыл бұрын

    the animations are awesome

  • @hakanatas
    @hakanatas10 ай бұрын

    It is a wonderful tutorial. Thanks.

  • @nyeinchanzaw6936
    @nyeinchanzaw69362 жыл бұрын

    More contents like this please.

  • @catdisc5304
    @catdisc5304 Жыл бұрын

    thank you so much for this video, I used these 200 second for a couple of hours now to try to implement a mecanum wheel based movement system in my robot. I'm using an arduino UNO with a FS ia6B receiver and noticed, that by using my own implementation of your code (yours seems to be in Java whereas the UNO uses c++ as its coding language, also my motor drivers dont use negative numbers but instead forward/backward + speed between 0 and 255) that my motors behave weirdly using method 2. I only get a limited range on my sticks when trying to move diagonally, when i go to full throttle 45 degrees it will just stop after moving the stick past 75%ish. method one however works flawlessly, so i think im going to stick with that. Also apparently using method 2 was too much for my arduino as it started drawing all my current with method 2 and basically none with 1. I'm kinda proud of my implementation of your method 2 but it's sad that all the time I spent on it was for nothing...

  • @SinopleTree
    @SinopleTree7 ай бұрын

    Nice and useful content. Greetings!

  • @MarinusMakesStuff
    @MarinusMakesStuff Жыл бұрын

    Super useful to know how to position the wheels correctly. My challenge will be how to implement this motion into the controller that I'm using. I was thinking to use stepper motors and reuse an old 3D printer controller I had laying around. But I'm not sure how to work out the kinematics. I'm very new to that.

  • @reee3166
    @reee31662 жыл бұрын

    Ty, I have been looking on how to program a Mecanum wheel but so many videos only show which way the motor turns and no methods.

  • @usnaveen
    @usnaveen4 ай бұрын

    Noway you have such less subscribers. Keep working hard may god bless you.

  • @localobug3034
    @localobug3034 Жыл бұрын

    Oh my god thank you

  • @jedferreras4559
    @jedferreras4559 Жыл бұрын

    This video has a 3blue 1 brown vibe, What software did you use ? Really cool animation btw

  • @Gavin_4D

    @Gavin_4D

    Жыл бұрын

    Thanks :) I used many different programs to make this video here is all of them: Blender Adobe After Effects Adobe Illustrator Desmotion (Developed by a friend and me; link is description) Krita Audacity HitFilm Express

  • @thedodgemaster4977
    @thedodgemaster49778 ай бұрын

    A different way to do the first half of method 2 with x and y input is to look at them as a vector and rotate them -45 degrees using a rotation matrix. Then you get the new axis. For field centric drive all what is needed is to put the angle of the robot in the rotation: (θ-45).

  • @johnhoffman1969
    @johnhoffman19692 жыл бұрын

    Very nice video! What are your controllers values at stick fully up, stick middle, stick fully down for Speed control? The final output to a wheel is in? (percentage or min / max bits for motor controller?)

  • @Gavin_4D

    @Gavin_4D

    2 жыл бұрын

    The programming was primarily created for FTC, which has the vertical axis inverted so up is -1 and down is +1 the middle is 0. The horizontal axis has left as -1 and right as +1. The final output for each wheel is a range from -1 to +1 which you could convert to whatever scale your specific controller uses. I hope this helps

  • @arctan4547
    @arctan454710 ай бұрын

    I really think that you should enter SoME4 when it comes around and cover a topic similar to this

  • @GarageAngel
    @GarageAngel Жыл бұрын

    Great video and explanation, does this solution also work for 3 wheel omni drive "kiwi" systems? what would change?

  • @danmadesclaire4706
    @danmadesclaire47064 ай бұрын

    Ty for helpful video. btw what if I just what to control it in 4 direction, then could I short 2 motor in same side together?

  • @davidgeorge1271
    @davidgeorge1271 Жыл бұрын

    Do you have a code to move the robot in a circular path ?

  • @floris2872
    @floris2872 Жыл бұрын

    Very helpfull video! Im trying to code the second method in c ++ for arduino, but i was wondering what the " /= " operator does. You state in your video it scales them down so the values dont exceed 1, does it scale each wheel's speed by the same value?

  • @CarlDoesEverything

    @CarlDoesEverything

    Жыл бұрын

    /= means to divide itself by something. Thus the example from the video: leftFront /= power + turn; is functionally equivalent to: leftFront = leftFront / (power + turn)

  • @MrStebeau

    @MrStebeau

    Жыл бұрын

    Hi, have you been able to make the code for Arduino work ?

  • @shibainugamer
    @shibainugamer Жыл бұрын

    Amazing tutorial, explained everything very clearly and accurately without using vectors and had clean animatoin. However, the dividing by the maximum power to achieve a different direction was not explained clearly.

  • @dailyfunnytv358
    @dailyfunnytv3589 ай бұрын

    how about a demo

  • @garethdicker9262
    @garethdicker926210 ай бұрын

    This may be silly, but do you need to be reading from encoders for this, or is it open loop?

  • @markhenry1118

    @markhenry1118

    8 ай бұрын

    If you are ok with potential slight inaccuracies I think you can just use percentage speed control using the pwm motor controller your dc motor is connected to.

  • @nazryJ
    @nazryJ Жыл бұрын

    Why do we subtract with Mat.PI/4 to convert to radians? Is this because you rotate the whole robot by -45°?

  • @HaHa-xk7nj

    @HaHa-xk7nj

    8 ай бұрын

    No because X would be one set of wheel and Y would be the other that way

  • @actionverse3799
    @actionverse3799Ай бұрын

    Bro this c++?

  • @actionverse3799
    @actionverse3799Ай бұрын

    Bro this c++?