For a Mecanum wheel, I am trying to implement kinematic constraints. Unfortunately, the optimization solver I'm using fails to find a feasible solution. I have double checked the math several times and it appears to be correct. Would this wheel in CoppeliaSim work similarly to the one in reality? To explain what I'm doing, I place the platform as shown in the below picture, if wheels are actuated with positive power, the platform moves in the negative direction of x.
This is the analysis diagram based on the above picture.
The kinematic constraint for the first wheel is
[-cos(g_1) sin(g_1) Lsin(a_1+g_1)] [dot{X}_r dot{Y}_R dot{theta}]^T = r cos(g_1) \dot{\phi}_1
Do you have any suggestions since I don't have the real youBot in our lab so I can test it.
How Mecanum Wheels work in CoppeliaSim
Re: How Mecanum Wheels work in CoppeliaSim
Hi,
YouBot's wheel are not implemented the way they look (i.e. by several free spinning rollers around a wheel frame).
Instead those are implemented with a trick that allows better performance and stability.
You can get a more detailed explanation of CoppeliaSIm YouBot's model wheels from @coppelia's posts in following topics:
To study mecanum wheels kinematics, a true simulation of mecanum wheels it is possible: create your wheel frame, add rolling joints around it in the proper pose (best is to use a script to place those) and add rollers which must be convex shapes if you want to actually run a stable dynamics simulation.
Rollers are the result of lathing a cylinder with a circle profile of the big wheel radius. So they are always convex. You can use sim.createMeshShape to create such a convex shape.
YouBot's wheel are not implemented the way they look (i.e. by several free spinning rollers around a wheel frame).
Instead those are implemented with a trick that allows better performance and stability.
You can get a more detailed explanation of CoppeliaSIm YouBot's model wheels from @coppelia's posts in following topics:
- robot with multiple wheels not moving in MuJoCo and Newton
- Inaccurate simulation when complexity increase
- mecanum wheel
To study mecanum wheels kinematics, a true simulation of mecanum wheels it is possible: create your wheel frame, add rolling joints around it in the proper pose (best is to use a script to place those) and add rollers which must be convex shapes if you want to actually run a stable dynamics simulation.
Rollers are the result of lathing a cylinder with a circle profile of the big wheel radius. So they are always convex. You can use sim.createMeshShape to create such a convex shape.