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

73 次查看(过去 30 天)
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


Steve Miller
Steve Miller 2018-3-21
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 个评论
Rzwan Ahmed Afzal
Rzwan Ahmed Afzal 2018-3-21
编辑:Rzwan Ahmed Afzal 2018-9-5
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 2018-4-18
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.


更多回答(4 个)

Nicolas Schmit
Nicolas Schmit 2018-3-19
Use the Collision_02_Disk_Finite_Plane_Fixed example form the Contact Forces Library.
  1 个评论
Rzwan Ahmed Afzal
Rzwan Ahmed Afzal 2018-3-19
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


Sundaramoorthy Arivanantham
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 个评论
Steve Miller
Steve Miller 2019-2-26
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.
Sundaramoorthy Arivanantham
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. :)


krishna teja
krishna teja 2020-6-7
编辑:krishna teja 2020-6-7
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 2023-11-21,15:00


Help CenterFile Exchange 中查找有关 Simscape Multibody 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by