Welcome to the Onshape forum! Ask questions and join in the discussions about everything Onshape.
First time visiting? Here are some places to start:- Looking for a certain topic? Check out the categories filter or use Search (upper right).
- Need support? Ask a question to our Community Support category.
- Please submit support tickets for bugs but you can request improvements in the Product Feedback category.
- Be respectful, on topic and if you see a problem, Flag it.
If you would like to contact our Community Manager personally, feel free to send a private message or an email.
Finished Project/Animation - 3 Motor 6 Differential Fully Holonomic Mecanum Wheel Arduino Robot
I met Joshua Peterson, a fellow Onshape user, over discord on Monday when he showed a video of this incredible robot in action to the FTC community. We decided to collaborate on making a promotional video/animation for the robot (which was fully designed in Onshape). He designed and built it, and I animated and edited this video.
Hope you all enjoy
This robot controls four mecanum wheels using only three motors for full holonomic motion. How? Through 6 differentials and a complex gear-based drivetrain. Each motor controls one degree of freedom—the top motor controls rotation, the middle motor controls lateral movement, and the bottom motor controls longitudinal movement.
This video shows the fully-functioning drivetrain in action in rendered footage as well as real-world footage of the physical robot driving around with a remote control. The robot is uniquely mobile in that all three degrees of freedom are controlled using exactly three motors, unlike traditional mecanum drive bases with one motor per wheel (for a total of four motors). Thus, it can move in any direction at any time.
Onshape model link: https://cad.onshape.com/documents/039d90381644dad86f131915/w/9de01be2421518eba3ef6f53/e/c3a5fb31123dfc8af82c16a0
GitHub code link: https://github.com/joshuapeterson210/threemotormecanum
Joshua Peterson’s email (designer and builder): contact@joshp.dev
Alnis Smdichens’ email (animator and video editor): contact@alnis.dev
Alnis Smidchens’ website/portfolio: https://alnis.dev
Hope you all enjoy
Get in touch: contact@alnis.dev | My personal site: https://alnis.dev
@alnis is my personal account. @alnis_ptc is my official PTC account.
@alnis is my personal account. @alnis_ptc is my official PTC account.
Tagged:
7
Comments
As for the constraints, I actually rebuilt all of the relationships using Blender's driver system. It's essentially a one-way constraint system/chain where you define motion relationships using mathematical equations. The result is extremely fast (real-time 60 FPS) movement for even super complex assemblies when dragging around inputs, but it requires some elbow grease (and often writing out some trigonometry) to set everything up. The .blend file I made actually has correct simulation/interaction between all of the gears and differentials in real time, and I'm hoping to publish it in the next day or two (after I clean everything up, I totally destroyed it in the process of animating )
Also, I'll let you in on a secret: the render and the real-world footage have the gears spinning in totally different directions/speeds, I ran out of time in my time budget to sync them up
Thanks for the kind words @john_mcclary, @Evan_Reese, and @tony_soares459! It means a lot to me
Update as I write this post: I have literally no experience parsing Collada, but I decided to grep the contents of an old and new export of a Collada file from Onshape looking for "material" and it looks like new exports are assigning a material to do with "ID11" to all objects while older ones have varied materials and objects, so I am now 99.8% sure that this is a regression in Onshape. I'll report a bug and I attached relevant info as a onedrive link. I have no clue what I'm doing, I'm just grepping "material" in files and guessing what might be going on haha
https://1drv.ms/u/s!AjfbxG8x44KRhto9iZSzMcj3J_quwA?e=H3A0zw
@alnis is my personal account. @alnis_ptc is my official PTC account.
The music is "Long Road - Futuremono" from the YouTube free music library. You can use it in your own videos without any advertisements/royalties.
@alnis is my personal account. @alnis_ptc is my official PTC account.
@mahir definitely agreed for making this a product, but this approach does let you skip doing any math or controls whatsoever since it mechanically decouples DoFs. I haven't fully thought it through but this might actually be good as a teaching tool to develop an intuition for a Mecanum drive.
Besides, even if it's totally impractical, it's still really cool!
PhD, Mechanical Engineering, Stanford University
@lemon1324 what's amazing about these renders is that it only took about 1.5 seconds per frame to render on an old GTX 970! The render engine is Blender's Eevee (Extra Easy Virtual Environment Engine). It's completely free to use, and there are lots of great tutorials out there for it, so if you ever need to do a video render, be sure to check it out! I'm happy to help out any time Also, for a Mecanum drive, the code is surprisingly simple. Here it is in pseudocode:
Thanks for the kind words @mahir and @lemon1324!
@alnis is my personal account. @alnis_ptc is my official PTC account.