Simulation of a rolling wheel on a flat surface using SimMechanics contact forces library block
41 次查看(过去 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
0 个评论
采纳的回答
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 个评论
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.
--Steve
更多回答(4 个)
Nicolas Schmit
2018-3-19
Use the Collision_02_Disk_Finite_Plane_Fixed example form the Contact Forces Library.
Sundaramoorthy Arivanantham
2019-2-26
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.
2 个评论
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.
--Steve
Sundaramoorthy Arivanantham
2019-2-26
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.
krishna teja
2020-6-7
编辑:krishna teja
2020-6-7
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
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Simscape Multibody 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!