Тёмный

How to Use Mecanum Wheels in 200 Seconds 

Gavin Ford
Подписаться 609
Просмотров 30 тыс.
50% 1

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

Опубликовано:

 

3 июл 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 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); }
@teodorvangelov
@teodorvangelov 2 года назад
Thanks. Really well made video.
@yogpanjarale
@yogpanjarale Год назад
Amazing visuals, explanations, love the video style 🙌🏻pls keep making videos
@LeoDaLionEdits
@LeoDaLionEdits 2 года назад
Super well made video
@elywickander4666
@elywickander4666 2 года назад
the animations are awesome
@CarlDoesEverything
@CarlDoesEverything Год назад
By far the best video I've ever found to describe mecanum drive. Absolutely wonderful, keep up the good work!
@hakanatas
@hakanatas 8 месяцев назад
It is a wonderful tutorial. Thanks.
@nyeinchanzaw6936
@nyeinchanzaw6936 2 года назад
More contents like this please.
@SinopleTree
@SinopleTree 6 месяцев назад
Nice and useful content. Greetings!
@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...
@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.
@localobug3034
@localobug3034 11 месяцев назад
Oh my god thank you
@reee3166
@reee3166 2 года назад
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
@usnaveen 3 месяца назад
Noway you have such less subscribers. Keep working hard may god bless you.
@thedodgemaster4977
@thedodgemaster4977 6 месяцев назад
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).
@arctan4547
@arctan4547 9 месяцев назад
I really think that you should enter SoME4 when it comes around and cover a topic similar to this
@johnhoffman1969
@johnhoffman1969 2 года назад
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
@GarageAngel
@GarageAngel Год назад
Great video and explanation, does this solution also work for 3 wheel omni drive "kiwi" systems? what would change?
@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
@danmadesclaire4706
@danmadesclaire4706 3 месяца назад
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 ?
@shibainugamer
@shibainugamer 11 месяцев назад
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
@dailyfunnytv358 8 месяцев назад
how about a demo
@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 ?
@garethdicker9262
@garethdicker9262 9 месяцев назад
This may be silly, but do you need to be reading from encoders for this, or is it open loop?
@markhenry1118
@markhenry1118 7 месяцев назад
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 6 месяцев назад
No because X would be one set of wheel and Y would be the other that way
@actionverse3799
@actionverse3799 11 дней назад
Bro this c++?
@actionverse3799
@actionverse3799 11 дней назад
Bro this c++?
Далее
Mechanics Of Mecanum Wheel(English version)
12:04
Просмотров 33 тыс.
Odometry 101 for FIRST Tech Challenge Robots
29:27
Просмотров 51 тыс.
Why this Omni-Wheel is Really Weird
17:29
Просмотров 2,7 млн
Mecanum Wheels Tips & Tricks
11:44
Просмотров 48 тыс.
Blocks Programming Mecanum Wheel Drive Tutorial
11:52
The Brilliant Engineering of Mecanum Wheels!
5:51
Просмотров 4,1 млн
Mindset of Successful Programmers
4:56
Просмотров 986 тыс.
Arduino Mecanum Wheels Robot
15:39
Просмотров 1,2 млн
Learn To Code Like a GENIUS and Not Waste Time
9:41
Просмотров 1,2 млн
Mecanum and Holonomic Drivetrain Programming
9:31
Просмотров 23 тыс.