This Robot Design is AMAZING! But is it worth the STRUGGLE? (Omniwheel)

My Vacuum Robot: Wall-E and the Quest for Omni-Wheels

As I watched Mark Rober's video on building a domino robot, I couldn't help but feel a sense of awe at the complexity and precision involved. His creation was a marvel of engineering, with each domino perfectly aligned to create a chain reaction. But what really caught my attention was the use of omni-wheels, which allowed for precise control over the movement of the robot.

As I began to tinker with my own vacuum robot, Wall-E, I realized that omni-wheels were exactly what I needed to take it to the next level. With the ability to control every direction and speed independently, I could create a robot that was not only fun to use but also incredibly versatile. But where do you find such wheels? And how do they work?

My search for omni-wheels led me down a rabbit hole of research and experimentation. I spent hours scouring online forums and YouTube tutorials, seeking out tips and tricks from other enthusiasts who had tackled this challenge before. It wasn't long before I stumbled upon the concept of using O-rings to create a frictionless surface, allowing the wheels to move smoothly in any direction.

Armed with my newfound knowledge, I set to work on creating my own omni-wheels. I began by designing and 3D printing custom mounts for the wheels, which would allow me to secure them firmly to the robot's frame. Next, I sourced a batch of O-rings, carefully selecting those that would provide the perfect balance of friction and mobility.

With my wheels in hand, it was time to integrate them into Wall-E. I began by designing a custom mounting system, using Fusion 360 to create detailed CAD files that could be used to 3D print the necessary components. Once the parts were printed, I carefully assembled the system, ensuring that every connection was secure and precise.

As I continued to work on Wall-E, I realized that having omni-wheels wasn't just about creating a fun and quirky robot – it also opened up new possibilities for control and precision. With the ability to manipulate every direction independently, I could create complex movement patterns and even fine-tune the speed of each wheel.

But as exciting as this technology seemed, there were also challenges to overcome. For one thing, the O-rings used in my wheels were incredibly slippery, making it difficult for the robot to gain traction. This proved to be a major hurdle, as I encountered numerous instances where Wall-E would struggle to move in certain directions.

Despite these setbacks, I was determined to push forward and fine-tune my design. After some trial and error, I discovered that by printing smaller O-rings onto the existing rollers, I could create a tighter seal and improve traction significantly. With this modification, Wall-E began to move with ease, gliding smoothly across the floor in all directions.

With the omni-wheels finally up and running, it was time to put them to the test. I designed a custom control system using an Arduino Nano board, which would allow me to manipulate every direction independently. As I uploaded the code and tested the robot, I was amazed at how smoothly and precisely it moved.

But just as things were going according to plan, I encountered another challenge – one that proved to be more difficult to overcome than any other obstacle thus far. The O-rings began to slip on the rollers once again, causing Wall-E to lose traction and stumble. This time, however, I was better prepared for the problem.

After some careful analysis and experimentation, I discovered that the issue lay not with the O-rings themselves but rather with the design of the wheels. By adding additional support structures and tweaking the angle of attack, I was able to create a more stable and secure system that would prevent the O-rings from slipping out of place.

With this final modification in place, Wall-E was ready for its next test. I designed a complex movement pattern using the Arduino code, which would allow me to manipulate every direction independently. As I uploaded the code and tested the robot, I was thrilled to see how smoothly and precisely it moved – gliding effortlessly across the floor in all directions.

In the end, building omni-wheels proved to be a challenging but rewarding experience. With patience, persistence, and a willingness to experiment, I was able to create a robot that exceeded my wildest expectations. And as I looked at Wall-E moving smoothly across the floor, I couldn't help but feel a sense of pride and accomplishment – knowing that I had brought this amazing technology to life.

The Future of Omni-Wheels

As I reflect on my journey with omni-wheels, I am struck by the sheer potential of this technology. Mark Rober's domino robot was just the beginning – a proof-of-concept that showed what could be achieved when combined with precision engineering and control.

But where do you take it from here? What are the possibilities for omni-wheels in the real world? I firmly believe that these wheels have the potential to revolutionize various industries, from manufacturing to healthcare to entertainment. Imagine a robot that can move precisely and smoothly, able to manipulate every direction independently – this is the future of robotics.

Of course, there will be challenges ahead – technical hurdles to overcome and practical applications to explore. But I am confident that with continued innovation and experimentation, we will see omni-wheels become an integral part of our daily lives.

As for Wall-E, she remains one of my proudest creations. With her precise control and smooth movement, she is a testament to the power of human ingenuity and creativity. And as I look to the future, I know that there are countless possibilities waiting for me – all it takes is imagination, perseverance, and a willingness to take on new challenges.

The Conclusion

In conclusion, my journey with omni-wheels has been nothing short of transformative. From the initial research and experimentation to the final test and deployment of Wall-E, every step of the way was filled with excitement, challenge, and triumph. I learned that with patience, persistence, and a willingness to experiment, even the most complex problems can be solved.

As I look back on this journey, I am reminded of the importance of creativity, innovation, and perseverance. With these qualities in mind, we can achieve great things – whether it's building robots like Wall-E or pushing the boundaries of human knowledge and understanding.

And as I shut down Wall-E for the final time, I couldn't help but feel a sense of satisfaction and accomplishment. The journey may be over, but the legacy lives on – a testament to the power of human ingenuity and creativity in creating something truly remarkable.

---

The End

WEBVTTKind: captionsLanguage: enThis is my vacuum robot which I am callingWall-E because you know it is cleaning upmy mess.And so far Wall-E has been doing its job fantasticallybut while watching a video from Mark Roberin which he built a domino robot I startedto get curious about the way Wall-E moves.You see vacuum robots use 2 wheels poweredby motors and one additional freewheelingroller that moves along.This way they can move forwards or backwardsby either rotating both motors clockwise oranti-clockwise.And of course they can also turn by only poweringone motor or powering both motors in oppositedirections.It is a pretty basic concept which I alsoutilized before while building an AI enhancedrobot.The only problem is that all this turningaround requires time and energy and that iswhere Mark Robers robot comes into play whichcan move in any direction without having toturn around.It can do that because it is utilizing socalled Omni Wheels aka Omni-directional wheelswhich I honestly never heard of before.So in this video I want to build my own omniwheel robot that can move in any directionto not only find out how they differ fromtraditional robots but also to see how hardit is to build such a robot and spoiler warningthere were a few problems along the way.Let's get started!This video is sponsored by Altium!If you ever designed a PCB before then youknow it can be quite frustrating when thesoftware you are using is missing a certainfeature.But luckily there is the Altium Designer whichcomes with all the features you could everneed when it comes to designing a circuitor PCB.If you want to give it a try for free thensimply have a look in the video descriptionand follow the link there.To start off I of course firstly did a googlesearch about omni wheels and quickly foundout that they are basically one big almostround wheel that consists of several rollersall around it.This way the wheel can not only rotate thetraditional way when powered by a motor butit can also move orthogonally through thehelp of the rollers.Thus by positioning 3 of such wheels in acircle arrangement with an angle of 120 degreesto one another, we can move the centre ofmass in any direction by powering the motorswith a specific strength and direction butmore about this juicy math later.For now I wanted to get my hands on such anomni wheel but sadly you can pretty much onlyget them from China which means it would havetaken weeks for them to arrive.So as already suspected I had to make my ownand I started this process by firstly creatinghand drawings with the most important dimensions.I then used those in Fusion360 as a guidelinein order to come up with a basic design.The roller not only come with a 3mm hole inthe middle but also the main wheel structureat the points where it holds the rollers.This way I can use a 27mm long piece of M3threaded rode inserted into the roller inorder to hold it in place inside the wheel.And let me tell you that the rollers turnbeautifully this way.Then the design also comes with 18 holes whichare not only required to hold the two piecesof the wheel together but they can also beused to attach two wheels together with oneof them featuring a slight rotation in orderminimize the dead zone of non roller area.And of course last but not least there isa rectangle in the middle which will holdthe shaft of my later utilized motors.And with the design aspect out of the wayI did a day worth of 3D printing, cut threadedrod to size with a big angle grinder and thena smaller dremel for fine tuning, cleanedthe 3D prints, widened the roller holes abit and ultimately positioned all of themin the wheel and closed them up through thehelp of M4 nuts and bolts in order to create3 beautiful omni wheels.But of course the wheels are only part ofthe story which means next I got myself abig piece of plywood out of which I cut acircle with a diameter of 30cm.And after that was done it was time to havea look at the motors I will be using whichare those DC motors with a gearbox attachedto them.They work with a voltage of up to 12V andof course we can change their rotational directionby simply swapping the plus and minus poleand we can also fine adjust their speed byvarying the voltage between 0 and 12V.I will later use an H Bridge IC which willbe this L298N in order to perform this directionchange and speed adjustment.And since I will of course be needing 3 motorsI will need two of them, as well as an ArduinoMicrocontroller who will not only be providing3 individual PWM signals for varying the voltagegoing to the Motors and thus adjusting theirspeed but also to set the current flow directionof the H Bridges which controls the directionthe motors spin.And while we are already at the electronicssides of things I utilized a USB Type C powerbankin combination with such a USB Type C PD triggerboard to get 12V portable power for the wholeproject.And with the electronics out of the way fornow I continued with the motors by measuringwhere their mounting holes are positioned.Once again I used Fusion360 to design a smallmounting adapter for them which I then 3Dprinted with PETG filament.After then marking the position of all adaptersonto the robot and drilling holes for themI secured all the motors in place.And before mounting the rest and wiring everythingup I glued a bit of wire at the edge of thecircle so that nothing will fall of later.With that job being completed, I drilled holesfor the motor drivers and another big onefor the motor wires through which I obviouslythread them all through after soldering themto the motors.Afterwards I connected the wires to the drivers,secured those in place and created an ArduinoNano breakout board featuring PCB terminalsto which I then hooked up all of the driverpins and power according to this simplifiedschematic.If you want to build something similar thenhave a look in the video description whereyou can find more details.But anyway; last but not least I hooked upan RC receiver module to the system whichin combination with this huge RC remote willcontrol the robot.The way this work is that after powering thereceiver and having a look at channel 2 and4 on the oscilloscope, we can see that theon time of this voltage pulse varies dependingon how I push the control stick with neutralbeing around 1.49ms, maximum being 1.9ms andminimum being 1.08ms.We can later use those values in the codein order to let the robot move forwards, backwards,left, right and everywhere in between.But to get to that point I firstly had toadd the wheels and only at this point I noticedthat the motor shafts were actually a bittoo short.But after doing a small gearbox hack whichinvolves turning around the shaft it all cametogether very nicely and it was time for thefirst test.With this code I simply let the robot spinin circles alternately and after uploadingit we can not only see the correct channelpulse time in microseconds but the robot alsodoes spin just like expected.So next it was time for the real deal by firstlysetting a forward direction as well as markingsfor all the wheels and then thinking abouthow fast and in which rotational directionthe motors have to spin to move in a specificXY direction.You see we are basically working with twodimensional force vectors for each motor herewhich come with a defined length and directionand put together tell us where the robot willbe moving.By splitting those vectors into an X and Ydirection we can determine a power value aswell as rotational direction for each motorby using a bit of trigonometry and I triedto encapsulate all that math into my finaltest code.The first dry run did look pretty promisingbut while doing the first proper test I noticeda rather big problem.Now first off; It seems like the robot doesfollow the direction I am pointing it to butonly after the wheels gained traction whichmeans my rollers are simply to slippery forthis job.So I did the unthinkable a printed smallerrollers onto which 13mm O-rings fit.And after replacing all the original oneswith them it was time for another test whichworked out way better and actually deliveredsome promising results but there was onceagain a big problem; this time with the O-ringsslipping of the rollers.Now I was not able to entirely fix this problemand pretty soon after my motors also gaveup working correctly but during this shorttime of testing I realized that such omni-wheelsare pretty awesome.If we would add better rollers to mine alongwith powerful BLDC Motors whose position wecan track, we could theoretically build arobot whose moving position we can very finelydictate, thus creating a kind of like moveableCNC machine.Mark Rober definitely pulled this off in hisvideo because he really needed such accuratemovement but let's face it, this is all wayharder to implement then just slapping ontwo motors with normal wheels and callingit a day.So yeah omni-wheels are definitely worth itif you got a suitable task for them.With that being said I hope you enjoyed thisvideo and learned something new.If so consider supporting me through Patreon.As always don't forget to like, share, subscribeand hit the notification bell.Stay creative and I will see you next time.