Simulation of a rolling wheel on a flat surface using SimMechanics contact forces library block

43 visualizaciones (últimos 30 días)
I want to implement a simulation of a rolling wheel on a flat surface using SimMechanics contact forces library block -- Sphere to plane contact. However, the library block is for contact between the sphere and a plane but I want to implement the lateral dynamics of a rolling cylinder on a plane. Can somebody please suggest me which block parameters inside the contact forces library should I target in order to suit the requirements for a rolling cylinder instead of a rolling sphere

Respuesta aceptada

Steve Miller
Steve Miller el 21 de Mzo. de 2018
In the Simscape Multibody Contact Forces Library, take a look at example Robot_2_Whl (animation below). It uses Sphere-to-Plane contact forces to model the wheels, so it can move around on a plane. It models the wheels as spheres and not disks, so if an obstacle gets close to the outer face of the wheel it will register contact.
  2 comentarios
Rzwan Ahmed Afzal
Rzwan Ahmed Afzal el 21 de Mzo. de 2018
Editada: Rzwan Ahmed Afzal el 5 de Sept. de 2018
Hi Steve,
With this example problem, the vehicle somehow behaves as a double track model. However, in my case of single rolling wheel, which can be considered as a single track vehicle model, this example is of little help for me. As you have mentioned in your answer that the wheel spheres will register a contact if touched on the outer edge, I think that is what actually is a problem for me as I want a rolling disk instead, which would just fall over to the ground on the lateral direction instead of rolling over, unlike a sphere. As can be seen in the image, that the rolling disk keeps its point of contact on the ground at the same point even while tilting about the lateral axis. But the sphere would change its point of contact on the ground if pushed laterally, so we would not get such a tilting behavior on the sphere.
Steve Miller
Steve Miller el 18 de Abr. de 2018
Hi - the contact force that I would create for this would be "Torus to Plane". This would give you close to the behavior you are looking for, and the equations wouldn't be that hard (single set, object is symmetric about an axis). I don't know when I would be able to get to that, though. Perhaps if you look online you might find the equations already derived (location of contact point between Torus and Plane; relative velocity at point of contact), and then you could adapt Sphere-to-Plane to get what you need.
If/when I get to it, I'll update this post, but it might be a while. MathWorks Consulting could possibly do this as a paid service, or perhaps we could arrange a project with a university.
--Steve

Iniciar sesión para comentar.

Más respuestas (4)

Nicolas Schmit
Nicolas Schmit el 19 de Mzo. de 2018
Use the Collision_02_Disk_Finite_Plane_Fixed example form the Contact Forces Library.
  1 comentario
Rzwan Ahmed Afzal
Rzwan Ahmed Afzal el 19 de Mzo. de 2018
Hi Mr. Schmit, The library example for Collision_02_Disk_Finite_Plane_Fixed deals with only 2D forces and if i just consider that the disk is always in contact with the plane, then the simulation is only limited to longitudinal motion of the disk. However, i also want the simulation to take the lateral dynamics into consideration as well.
For an example: I want to simulate this example Wheel rolling on a flat surface

Iniciar sesión para comentar.


Sundaramoorthy Arivanantham
Sundaramoorthy Arivanantham el 26 de Feb. de 2019
Hey Mr. Miller.
I'm trying to model a swedish wheel (mecanum wheel) in simscape. I modelled the wheel in Solidworks and used 'smimport' function to get the model in simscape. Now i'm trying to model contact forces between the wheel and a plane. I'm facing difficulty in defining the contact force between the 9 rollers of the wheel and the plane. I've attached the image of my wheel herewith. TIA.omwwheel.PNG
  2 comentarios
Steve Miller
Steve Miller el 26 de Feb. de 2019
Hi Sundaramoorthy,
I believe the best you can do with the library as it currently stands is to put a sphere-to-plane contact force between each roller and the plane. It will not be an exact representation of the true system, as it appears those rollers are cylinders and not spheres or ellipses. However, it should get you started.
To get more accuracy, you could put a sphere-to-plane force between the end of each roller and the plane. This would allow you to capture the segmented aspect of the wheel circumference (gap between rollers, flatness of each roller). This will take longer to simulate as the transition between each roller will take additional simulation steps. However, this accuracy might be useful to size your motor or design your control system.
Good luck! Feel free to share the model on the File Exchange so that others can offer their advice and benefit from your work.
--Steve
Sundaramoorthy Arivanantham
Sundaramoorthy Arivanantham el 26 de Feb. de 2019
Yup. Looks like i have to connect each roller frame to the plane via 'Sphere to plane force' block. Thanks for the help mate. And, yeah sure, once i'm done with the model i'll share it on file exchange. :)
Cheers.

Iniciar sesión para comentar.


krishna teja
krishna teja el 7 de Jun. de 2020
Editada: krishna teja el 7 de Jun. de 2020
hi,
i have faced this issue before and approximated using sphere to plane contact (from Mr Steve Miller's contact force library)
starting from R2019b, there is spatial contact force block in simscape/multibody/forces and torques.
this helped me create rolling tire with custom tire-road interface longitudinal force.
Note: this block doesnt yet support flexible bodies, as of R2020a release
hope this helps

Maxime Guilmain
Maxime Guilmain el 21 de Nov. de 2023
thx

Categorías

Más información sobre Simscape Multibody en Help Center y File Exchange.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by