File Exchange

## Simscape Multibody Contact Forces Library

version 20.2.5.0 (8.21 MB) by
Contact force examples and library.

Updated 10 Oct 2020

From GitHub

This library contains contact force models and force laws for multibody modeling in Simscape Multibody. They cover 2-dimensional and 3-dimensional problems with or without friction. More than 45 example models are provided, including basic contact force examples (bouncing ball) and more complex applications such as a cam-follower mechanism, differential drive robot, and a robot arm with a gripper. Both linear and nonlinear force laws are included, and you can easily add your own custom force law.

Use the "Download from GitHub" button above to get files compatible with the latest release of MATLAB.
Use the links below to get files compatible with earlier releases of MATLAB.

See how to use these forces to model a cam-follower mechanism:
https://www.mathworks.com/videos/modeling-contact-forces-in-a-cam-follower-94291.html

https://www.mathworks.com/videos/multibody-simulation-with-simmechanics-81877.html

Find other Simscape examples by searching posts for the keyword "physical modeling"
https://www.mathworks.com/matlabcentral/fileexchange/?term=%22physical+modeling%22

https://www.mathworks.com/physical-modeling/

### Cite As

Steve Miller (2021). Simscape Multibody Contact Forces Library (https://github.com/mathworks/Simscape-Multibody-Contact-Forces-Library/releases/tag/20.2.5.0), GitHub. Retrieved .

Mark Edwards

Superb work Steve! Please can you suggest how I can represent a 3D cylinder (hockey puck) on a plane - contact and friction?

Steve Miller

Hi Gianmarco - you could use this for cables, but I would recommend looking at the Spatial Contact Force block if that is in the release you are using. If you can discretize the cable into pieces, you can insert the Spatial Contact Force block between each cable segment and the solid. You would only want to use this library if you want to do a custom force or friction law.

Gianmarco Pisanelli

Amazing job thank you for this! Is the library meant to be used with cables? I have used it for simple applications but I cannot not quite figure out how to apply to a cable coming to contact with a solid. Is this not possible?

Steve Miller

Hi Milind: For R2019a and earlier, run startup_Contact_Forces.m. From R2019b onwards, open the file Contact_Forces_Library.prj.

Milind TR

Hi Steve, I am using v2019b. I have downloaded the .zip file for 2019b. Can you please guide me with next steps to install the .zip file as an addon.

홍주 배

Xinyi Xiong

What's different between Library of Simscape /Multibody/Forces and Torques/Spatial Contact force?

Joyjit Mukherjee

Hi Steve. Thank for this module which seems to be amazing. I have modified a part of the module to implement anisotropic friction for my work. Also, I need to change the dimension of the bodies connected and their density according to my work. So could you please guide me where I can change the dimension of the bodies globally, i.e. where I can change the value of parameters like 'box.l', 'box.w', 'box.h', 'table.l', 'table.w', 'table.h', etc. This will allow me to change the dimensions once rather than changing them every time. Or if you can suggest a method to define such global parameters that can be utilized in the Simscape model.

Thank You very much.

Jinesh R

Hi, Steve! I am having difficulty with the installation of this library in MatlabR2019a, could you please help me out?
Thank you very much!

Eskander Meddeb

Hi! I wanted to ask you if this Library works on Matlab R2020a

Steve Miller

Hi Daniel - I haven't tried that. I'm not sure which release that option was added. I'll try to give it a go and let you know what I find out.

Daniel Stuewe

I ran the Performance Advisor on my model and it recommends enabling the "Begin index search using previous index result" option on the COF vs. Velocity lookup tables (Sphere to Plane and Sphere to Tube). In your experience is this a helpful recommendation for simulations with several contacts?

Steve Miller

If you need to include this library in your own example, I recommend you use just the project Contact_Forces_Core.prj in subfolder CFL_Core. It includes the libraries and not all of the examples. You can use it directly by including "openProject('Contact_Forces_Core.prj'). If your work is in a Project, you can include it as a Referenced Project just as is done in project Contact_Forces_Library.prj

Daniel Stuewe

I've been using several of the previous versions (skipped 2019a). I've updated to 2019b and I see that the library is now in a project form. What do I need to include in my startup.m script to access and run the library?

Steve Miller

As Zeel mentioned, previous versions are available on GitHub. Mohammad, this link will get you the version for R2019b.
https://github.com/mathworks/Simscape-Multibody-Contact-Forces-Library/archive/19.2.5.0.zip

Zeel Desai

Anyone looking for previous versions of the library can find it here
https://github.com/mathworks/Simscape-Multibody-Contact-Forces-Library/releases

Hi Steve, do you have 2019b version?

Zeel Desai

Hi, Steve! Can you, please, send me this library for the R2018a version?
Thank you.

FIDA BEN ABDALLAH

Hi Steve,
Could you please send me the contact force library for matlab R2015a?
My email: fidaa.ben.abdallah@gmail.com
Best Regards

Kent Zhao

Hello Steve,
I am working with R2018b, could you please send me the library for that version?
My email is: Kent@tju.edu.cn
Thank you very much!

y li

Hello Steve!
Could you please send me the contact force library for matlab R2016b?
My email: lyzgy1990@163.com
Thank you!

metoyourlife

Steve Miller

Hi yash kalal - the stiffness, damping, and friction parameters depend on a lot of factors. It is tempting to provide a table based on the material properties of both objects (metal-metal, plastic-metal, wood-metal, ...) but this is not enough information. Shapes, thickness, surface finish, and many other factors play a role. --Steve

yash kalal

Hello Steve,
Could you please tell me how should we decide different block parameters like contact stiffness, damping, different coefficients, etc to make contact between a model and plane?
Is there any specific method to decide that values or done by hit and trial method?
Thank you very much!

Nicholas Cavaliere

These libraries are awesome, beautiful work!! I do have one suggestion though, the addition of rolling contact friction. I modified the external forces in one version of the library to include them and it was very helpful to model the motive forces needed for vehicle accelerations on flat ground.

Rutvik Zanzrukiya

Hello steve,

Could you please send me the contact force library for R2018a?
Thank you very much!

LeMarec Titouan

Hi Steve,
I am trying to adapt your library to model contact between a sphere and a custom surface locally approximated as a plan. I am using the sphere on plan block and adapted it a bit. The surface is stored as a matrix z = h(x,y) and a .stl file is generated for good measure.
At each step I calculate the penetration using the matrix of altitude of the surface and I calculate the relative orientation using the local plan. But the behavior is not perfect : when dropping a sphere in a parabola, at some point the sphere will start to make small jump and accelerate out of the surface.
Have you worked on a similar model ? Do you have an idea as to what could be the cause of this behavior ?
Cheers
Titouan

Ayham Kasem

Hi Steve,
Could you please send me the contact force library for Matlab R2016a?
My email: Ayhamkasem2017@hotmail.com
Best Regards

Hi Steve,
Could you please send me the contact force library for matlab R2018a?
My email: u5600083@unimilitar.edu.co
Best Regards

Awesome, Thanks for the prompt response!!!

Steve Miller

Hi Nadav - each relation must be defined in the block diagram. You can automate this using MATLAB commands to add blocks and lines. Look at the file Examples\3D\MATLAB_Build\Spheres_in_Sphere\sm_build_spheres_in_sphere.m --Steve

Thanks you steve,
The 3D balls in box is very much useful to me,
hoewever, I need this to work with a large number of balls,
Is there any way to make a repeated loop sor each ball wothout redefining each relation?
thank you

Ivan Bochkov

Hello Steve!
Could you please send me the contact force library for matlab R2016a?
My email: plug95@yandex.ru
Thank you!

ackie

Sabri YILMAZ

Hello Steve!
Could you please send me the contact force library for matlab R2017b?
My email: sabriyilmaz1988@gmail.com
Thank you!

Zhian Kuang

Hello Steve!
Could you please send me the contact force library for matlab R2016b?
My email: zhiankuang@berkeley.edu
Thank you!

zerui song

Ainara Ramos

Hello Steve!
Could you please send me the contact force library for matlab R2015b?
My email: ainara.ramos@alumni.mondragon.edu
Thank you!

Fangxian Jiang

Hi Steve,
Could you please send me the contact force library for matlab R2018a?
My email: jiangfangxian@foxmail.com
Best Regards

Marcos Robein

Hello Steve!
Could you please send me the contact force library for matlab R2015a?
My email: marcosrobein@gmail.com
Thank you!

JINLE XU

Hello Steve,
Could you please send me the contact force library for matlab R2018a?
My email: s253444@studenti.polito.it
Best Regards

Ainara Ramos

Hello Steve,

I have a problem to export as FMU a modle in which I use the contact force library.
Why does it happen? Could it be because I have not acces to the code or functions used inside the blocks?
My email: ainara.ramos@alumni.mondragon.edu

Best Regards

ziyong han

Hi Steve,
What's the difference between the contact force lib and 'Spatial Contact Force' block in 2019b?

Perttu Juvonen

Hi Steve,
Could you please send me the contact force library for matlab R2018a?
My email: perttu.juvonen@live.com
Best Regards

Guillaume Gonde

Hello Steve,
Could you please send me the contact force library for matlab R2018a?
My email: guillaume.gonde@hotmail.fr
Best Regards

mansuri caynak

Hello Steve!
Could you please send me the contact force library for matlab R2018a?
My email: tugragok95@gmail.com
Best Regards

ahmed amouri

Hello Steve!
Could you please send me the contact force library for matlab R2017a?
My email: ahmed.amouri@enis.tn
Thank you!

Fabio Puglia

Hello Steve,
Could you please send me the contact force library for matlab R2018a?
My email: puglia.fabio@hotmail.it
Best Regards

Rishi Jain

Hello Steve!
Could you please send me the contact force library for matlab R2018a?
My email: rishi.jainrishi@gmail.com
Thank You!

Rupesh Shrestha

Hello Steve!
Could you please send me the contact force library for matlab R2018a?
My email: Rupenst2@gmail.com
Thank you!

Satyam Mahakalkar

Hello Steve!
Could you please send me the contact force library for matlab R2018a?
My email: sijn7446@gmail.com@gmail.com
Thank you!

Ilya Chaban

Hello Steve!
Could you please send me the contact force library for matlab R2018b?
My email: ilyachaban@gmail.com
Thank you!

Aron Schönfeld

Hello Steve!
Could you please send me the contact force library for matlab R2016a?
My email: aron-paul@web.de
Thank you!

Özcan Özaltin

Hello Steve,

Could you please send me the contact force library for R2016a?
Thank you very much!

My email is: papak_36@hotmail.com

Aya Sebaay

Hello Steve,

Could you please send me the contact force library for R2018a?
Thank you very much!

My email is: aya.sebaay.i@gmail.com

Cheng Fang

Hi Steve:

First, thanks a lot for your contribution! I used this library before and it works perfectly when the two colliding parts have relatively simple shapes.

I have a question about your contact force library. Can I use this library to simulate the contact process between two rigid parts of complicated geometries. If no, do you have any suggestion to simulate and implement such a contact process in Simulink?

Thank you very much!

Daniel Stuewe

Steve,
This is a small thing, but the circle that is defined for visualization in the ring extrusion in both this library and the parts library ('Extr_Data_Ring.m') is only incremented every 1 deg. When I've used the contact library to create a profile by combining multiple arcs, the gaps in the visualization is annoying. I've changed the scripts to define the circle (or arc) into 1000 increments which is refined enough for the visualization that I need.

theta = [(deg1:(deg2-deg1)/1000:deg2) ]'*pi/180;

Thanks again for this great library.

Martin Stangl

Hi Steve!
When possible, could you send me the contact force library for matlab r2018b please?
Email: areeh.hafiz@gmail.com
Thank you!

Mario Bruza

Hello Steve!
Could you please send me the contact force library for matlab r2018a?
email: mariorbr@hotmail.com

Thanks.

Sander d'Hont

Hello Steve!
Could you please send me the contact force library for matlab R2016a?
My email: s.dhont@student.tudelft.nl
Thank you!

neel panji

Hello Steve!
Could you please send me the contact force library for matlab r2018a?
my email : neelpanji@gmail.com

Thank you!

Najah ROULA

Hello Steve! Could you please sens me the contact force library for Matlab R2018a ? This is my e-mail addresse : nadjah.roula@gmail.com. Many thanks !

Artur Abdullin

Hello Steve!
Could you please send me the contact force library for matlab r2015a?
Here is my email : artur.abdullin@gmail.com

Thank you!

Hellow Steve,
I would like to try to use this library on matlab r2018a, could you please send to me that version? Thanks in advance.
My email es: sierrapardocesar@gmail.com
best regards.

James PM

delbante alebachew

Delbante Alebachew
Hello Steve,
I am working with R2017b, could you please send me the library?
My email is: delbantealebachew@gmail.com
Thank you very much!!

alvish winchester

Hello Steve,
Could you please send me the contact force library for matlab r2018a?
here is my email : faizulurrasyadi04@gmail.com

Doruk Oralli

Hello Steve,

I could not find Simscape Multibody Contact Forces Library for Matlab 2017b, may you send me if it possible?

Best regards.

Steve Miller

Hi Behzad - in our experience, contact force problems are often tailored to the problem. By placing these models on the File Exchange, we can make them completely open so you can customize them. It also lets us update them between releases and improve support to previous releases. --Steve

Hi Steve,
Why doesn't SimScape include the contact force library in the original package same as MapleSim?

mahmoud nasser

hi all
where can i download Simscape Multibody Contact Forces Library for 2016b version cause in the mathworks website there is only for 2018b and 2019a version thanks in advance
and this is my email : mm5466881@gmail.com

Hello Steve,
I am working with R2017b, could you please send me the library for that version?
My email is: guillermo.cabezas@alumnos.uva.es
Thank you very much!!

Prasanth Manoharan

Hello steve,

Could you please send me the contact force library for R2016a?
Thank you very much!

Clément Thomaso

Hi, i'm working on a quadruped robot and this library could help me a lot ! However i can't open it because i'm using matlab R2016b... Could you send me the version for this version ?
Thank you very much !!
email : thomaso.clement@gmail.com

HT Dai

Hello Steve,
It's a powerful library. Now I want to simulat the newton craddle for demo, but the effect is very different with realistic observation. Would you help me? You can find my file from this link :

niraj

Could you send me the contact force library for R2017b.
My email Id is nirajkumarranjan@gmail.com.

Nguyen Dung

Hello Steve,
I am working with a Hexapod model which need the Library for version 2016b. Can you send me the Library for that version please?
Best regards,
Email: dungcom66028@gmail.com
Thank you so much !
P/S: I wonder why you didn't upload all of the version on a cloud for ever one to download?

ALESSANDRO ANDOLFI

Hello Steve,
Best regards,
Alessandro
email:a.andolfi1@studenti.unisa.it

Maria Sabova

Hello Steve,
Best regards,
Maria

gavgavma@gmail.com

Prasanth Manoharan

Hello steve,

Could you please send me the contact force library for R2018b?
Thank you very much!

federico zambelli

Hello Steve,
Could you please send me the contact force library for R2017b?
Thank you!

Anita Medina

Hello,

Could you please send me the contact force library for R2018b?
Thank you very much!

David

Hello Steve,

Could you please send me the contact force library for R2017b?
Thank you very much!

Antonin Rocher

Hello Steve,
Could you please send me the contact force library for R2017a?
Thank you !

Cao Viet Thien

Hello Steve,
Could you please send me the contact force library for R2017b?
Thank you very much!

Hello Steve,
Could you please send me the contact force library for R2017b?
Thank you!

Soobin Kang

Hello Steve,
Could you please send me the contact force library for R2017b?
Thank you!

Chaitanya Nawale

Hi Steve,
Could you please send me the contact forces library with examples for R2016a?
Thank you!

Da Pa

Hello Steve,
Could you please send me the contact force library for R2017b?
Thank you!

Hello Steve,
Could you please send me the contact force library for R2017b? 15adamsb@gmail.com
Thanks

Nial Neil

Frau Vrai

Hello Steve,
Could you please send me the contact force library for r2018a?
shafiyyahnovel@gmail.com
Thanks

Omid Mohseni

Hello Steve,
Could you please send me the contact force library for r2017a?
o.mohseni.sh@gmail.com
Thanks

Moran Han

Hello Steve,
Can you send me contact force library for r2017b please?
Thank you.

hello Steve,
could you please send me the contact force library for R2016a ?.
thank you.

Daniel Lotano

Hello, could you please send me the library for R2016b? Thanks!

d.lotano@studenti.poliba.it

shanuka kamesh

Hello Steve,
Can you send me contact force library for r2015a please?
Thank you.

zhong yin

Hello Steve,
Can you please send me the contact forces library for Matlab r2017a ?
My email is yin895902139@vip.qq.com
Thank you so much!

Armand Dem

Hello Steve,
Can you please send me the contact forces library for Matlab 2016a ?
My email is armand.dem@hotmail.fr
Thank you

Hakan Onur Ardic

Hello Steve,
Can you please send me the contact forces library for Matlab 2015b?

Lalit Duseja

Hello Steve,
Can you send me the library of contact forces for matlab 2017b please?
my email is lalitduseja12@gmail.com

Thibaud Mazoué

Hello Steve,
Can you send me please the library for multibody contact forces ? I am using Matlab Version 2016b
My email is thibs.mazoue@gmail.com
Thank you so much!

Tommaso Maioli

Hello Steve,
Would you please send me the library for Matlab 2017b?
my email is tommaso.maioli@gmail.com

yusuf karabacakoglu

Hello Steve,
I am using Matlab Version 2016b. Can you send me please the library for multibody contact forces ?
My email is yusufk26esk@gmail.com
Thank you

HT Dai

Gonzalo Romero

Hello Steve,
Would you please send me the library for Matlab 2017a?
gonzaromero_2007@hotmail.com
Thanks you

Megan Carey

Dear Steve, could you please send me the library for Matlab version 2015a?. My email is hgmarques@gmail.com. Thank you in advance.

JeanPiere Demir

Hello Steve,
I am using Matlab Version 2017a. Can you send me please the library for multibody contact forces ?
My email is jeanpieredemir@gmail.com

Roshan Hota

Hi Steve can you send me the simscape multibody contact forces library for MATLAB R2016a version. My email id is yoursroshanhota@gmail.com

Tingting Zhang

Hi Steve
I'm working with the Matlab Version 2017b. I have a colleague is working with Matlab16b.
Can you send me the library for r2017b and r2016b?
My email is ztt1210@stu.xjtu.edu.cn.
Thank you very much!

AC

blindcontroller@gmail.com can you please send me the library for r2017b? Thank you

negin nikafrooz

Hello Steve,
I am using the sphere-plane contact force to define the gear connection between the four- teeth gears. These gears are part of a cable driven robot. Gears work properly alone, but when I add the cables to the system, it becomes too slow (the step sizes become too slow. It seems that it is kind of in its singularity position). I should add that the cable- pulley system itself works really well. I have played with the solver options and tried different values for the contact properties. None of them works. I was wondering if there is any conflict between these two libraries, or you have faced this problem. I appreciate it if you could help me find a solution to this problem.
Many thanks,
Negin

Yang Meng

Hi Steve
I'm working with the Matlab Version 2016b. Can you send me the correct version of this library?
My email is mengyang@hust.edu.cn.
Thank you very much!

Steve Miller

Hi Ahmed - Not sure what you mean by GRF profile. The output bus from each block contains the result of the normal force calculation and the friction force calculation. I am guessing you can use those two to get what you need. Attach a Bus Selector block to access those measurements. --Steve

Ahmed Ansari

Hi Steve
I'm using the sphere to plane force on one my legged robot project.
Is there any way I can sense the GRF profile from the contact force block? I'm more interested in knowing the peak force to optimize my structure for maximum stress conditions.

Gökhan Aziz

I am working with Matlab Version 2017b. Please send me the correct version of the contact
forces library to: gokhanaziz@gmail.com

Thank you very much

serdar ilhn

hello steve,
can you send me the version for Matlab2016a.
thank you so much.

junhee park

Hello Steve,
can you send me the version for Matlab2018b
qus4787@daum.net
Thanks.

Hi Steve!
Could you please send the version for Matlab 2016a.
Thanks and Regards
Arjun

Haider Javed

Hello Steve,
Can you send the version for Matlab2017a, please?
hjave@ucalgary.ca
Haider

Jan Selig

Hello Steve,
I am working with Matlab Version 2017b. Please send me the correct version of the contact
forces library to: jans89@hotmail.de

Thank you very much in Advance.

Best regards,

Jan

Shaheem Khan

Hello Steve,
can you send me the version for Matlab2016a, please?
shaheemkhan640@gmail.com
Thanks.

Maziar Sharbafi

Hello Steve,
can you send me the version for Matlab2017a, please?
Thanks.
Aida

Wenzhe Liu

Hi, can send me the simscape multibody contact forces library for R2017a version? My email address is liuw@msoe.edu.
Thanks!

Gaura Shukla

hi steve, here is my other email id gaurashukla.14@gmail.com

Steve Miller

Gaura Shukla

hi Steve can you send me the simscape multibody contact forces library for R2017 version... its urgent...thankyou

Leonardo Turkovic

Hello Steve, could you send me for the 2017b version? lturkovic@hotmail.com .
Thank you!

Pavel Osipov

Thanks a lot, Steve.

donghoon byun

Hello Steve,
I am working on a walking robot.
can you please send me the library for Matlab 2015a?
Email: bdh4787@gmail.com
Best regards

BEOMJUN KO

Hello Steve,
Could you please send me the library for Matlab 2016a?
qhawnsdl8@gmail.com
Thanks very much

Steve Miller

@Jan - forcesPS_lib is part of this library (not the Simscape Multibody Contact Forces Library). If you are not using the current release, please let me know which release you are using and I will email you libraries saved in the release you are using. --Steve

Jan Selig

Hello Steve,
i am trying to implement a hard stop with the simscape multiphysics library. If I load the implemented blocks i got an error because the "forcesPS_lib" can not be loaded. I think that file comes with the contact forces library... As far as i understand the error message it is a compatibility issue because the needed file was saved in a newer 2018a or b Versioin. How can i implement this functionality or can you give me some kind of workaround? In case you need my email address: jans89@hotmai.de

Best regards,

Jan

xiang WANG

I want to set friction force inf to prevent quadruped's slippage

Steve Miller

@xiang - the friction model is documented within the submission. >>web('Friction_Laws.html'). I'm not sure what you are trying to achieve by setting the coefficient to inf. There is nothing in the models preventing you from setting it higher than 1, but if you set it too high you will get numerical issues.

xiang WANG

Hello Steve! Could you give the mathematical model for the contact model. I want to set friction coefficient Inf, but I do not understand this contact model. Thank you!
email: xiang-wa16@mails.tsinghua.edu.cn

xiaochen Liu

Hello Steve,
Could you please send me the library for Matlab 2017a?
liu56972514@gmail.com
Thanks very much

Kalana Vidurath

@xiang WANG, can you drop an email to kalanaratnayake95@gmail.com. But I'm doubtful whether i can be any help to you, because I'm just starting at these things.

xiang WANG

@Kalana Vidurath

Kalana Vidurath

update:
i tried adjusting stiffness and damping. initially it floated upwards, and at some point (stiffness 10, damping 0.01) it stopped at going upwards but stayed at one place floating above plane. if i reduced further it would accelerate downards(still pass through). so im stuck again. sphere to plane blocks radius is equl to the actual sphere radius. what i want is to ball to fall on to the plane and stop there

xiang WANG

Hello, Kalana Vidurath. I feel great pleasure to know you are making some research about quadruped robot. Could you give me contact information for further communication? Thanks

Kalana Vidurath

Hi Steve,
thanks for sending the library. i implemented contacts in my quadruped model with the help of ball on table example. (Robot legs has a spherical end and floor is made of a thin brick solid). but they keep going through each other. i went through few examples but cannot seem to figure it out. Anything help will be appreciated. Thanks

xiang WANG

I am do some simulation about quadruped robot. I want to set friction coefficient infinite. How can I realize? Thank you !

meysam esf

Hello Steve,
I am working on a walking robot.
can you please send me the library for Matlab 2017b?
Email: meysam.esfandiarfar@gmail.com
Best regards

Yuchen Xu

Hi Steve,
Can I also have the library for 2017a and 2017b?
email: yxu68@illinois.edu
Thanks!

Steve Miller

Hi Yuchen - is it a diagnostic concerning rigidly connected ports? Be sure to see this MATLAB Answers post: https://www.mathworks.com/matlabcentral/answers/378561-rigidly-connected-port-error-with-simscape-multibody-contact-forces-library. I will contact you separately for more information.

Yuchen Xu

Hi Steve,
I made a model similar to the two wheel robot model, I connected two of this together, but I met a very strange bug about setting up the initial condition, and I can't figure out why. Is there any way I can get some help on this?
Thanks!

Kalana Vidurath

tried using the library availble. but \$bdroot issue is there in sphere to plane force. cross product and force law blocks are missing(same as Ankush).

Kalana Vidurath

Hello Steve,
can you please send me the library for Matlab 2017b?
kalanaratnayake95@gmail.com
Thanks so much

Ankush Singhi

When I run the walkingRobot_step3.slx, I receive the following error:
'\$bdroot' is not a valid model name because it is not a valid MATLAB function name.

What is the solution for this?

Boyuan Deng

Hello Steve,
can you please send me the library for Matlab 2017b?
dboyuan@purdue.edu
Thanks so much

Hi Steve,
I'm using the MATLAB R2017a for simulating the walking robot. Could use please share the library for this version?

Regards,

manu aatitya

hello Steve,
Can you please send me the library for Matlab 2017b ?
My email id is ermanuaatitya@gmail.com

Nicolás Sepúlveda

Hi Steve,
Can you please send me the library for Matlab 2017b?
nicolas.sepulveda.h@ing.uchile.cl
Thanks

Philipp Heath

Hello Steve,
can you please send me the library for Matlab 2017b?
philkra@web.de
Thanks

Friedrich Kleeberger

Hello Steve,
can you send me the version for Matlab2017b, please?

kleebergerfr56965@th-nuernberg.de
Thanks.

Guanlin

Hello Steve,

can you send me the version of Matlab 2017b, please? Thank you!

Best regards,
Guanlin Gao

h faghihimani

Hello Steve,
Would you please send me the version for R2016a?
hfaghihimani@gmail.com
Thanks.

Dan Miller

I have a question regarding the double pendulum model. In the block "Friction_03_Double_Pendulum_Constraint/Stick-Slip Friction 1D", the x-direction of the constraint force is being selected, but shouldn't this be the norm of the x and y directions together?

Steve Miller

daessc is a new solver in R2018b specially designed for systems of differential algebraic equations. It is targeted at robustness, not speed. In some cases, it will be slower because it performs extra computation to ensure robust simulation (convergence). For pure multibody systems with contact forces, ode15s and ode23t are likely to be faster.

zy han

Hi Steve,
Are there differences between the solver ode15s and daessc for this library? I find that the latter one is slower.

Riccardo Mandriota

Hello Steve,
can you send me the version for Matlab2017b, please?
rizmand@gmail.com

Thanks.

Nike Borzov

Hello Steve,
Best regards,
Nick

bidls@rambler.ru

Philipp Heath

Can you please send me the version for Matlab 2017b? Thanks a lot.
philkra@web.de

Hey Steve,
Could you send me the MATLAB 2017a version at nakul.bundi@gmail.com
Thanks a lot.

Hi Steve,
I'm using the MATLAB R2017a for simulating the walking robot. Could use please share the library for this version?
email : kcvignesh693@gmail.com

Regards,
Vignesh

Eric

Qianyu Zhou

Qianyu Zhou

Hi Steve,
thanks for this library!
I'm using MATLAB R2016a. Could you share the library with me for this version?
my email: qianyu_zhou2016@163.com Thank you so much.

Amitoj Battu

Hey Steve,
Could you send me the MATLAB 2015a version at a.s.battu@gmail.com
Thanks a lot.

Elkin Veslin

Hi Steve, many thanks for the Library!

Please, Can you Provide me with a Library Version for Matlab 2017a?
My email is eyveslin@gmail.com
Have a good day, and thank you.

Hii Steve,
Could you please send me the MATLAB R2016b version please, this library is not really compatible with the version of MATLAB I'm using. my email: saisudhirchalavadi@gmail.com Thank You.

Ruth Leskovar

Hi Steve,
thanks for this library! I have two questions about and would be happy about help ;)
1. I'm using MATLAB R2016a. Could you share the library with me for this version?
2. I'm trying to simulate a human knee joint using Simscape. I'm using stl files for the geometries of the bones and I would like to add contact forces in order that they do not penetrate each other anymore. Is this possible using contact laws? Or is there a better way like change the parameters in the joint? I am struggling with it because I don' t know how to calculate the interpenetration between the geometries.
Would be great if you have some advice for me. Thank you very much in advance!

cindy lemoine

Figured it out :)

cindy lemoine

Steve-I have looked at the example you provided. I can t see what I am doing wrong. can I send my model to you?

Steve Miller

Hi Cindy - look at example model Friction_08_Disks_and_Ring to see the force active inside and outside the ring. The ring angle can be specified up to the precision of MATLAB, so 0.1 degrees is fine. --Steve

cindy lemoine

Hi Steve
I am having issues with the ring to circle contact force. It seems as if it only works with circles in side the ring and not externally. Also I was wondering if the ring angle resolution could be changed to allow adjustments of .1 degrees. I am trying to simulate mechanical clock movement and I am using the ring on my anchor

Hi Steve, can you please share the contact force library for 2017a version.

Steve Miller

nikolaos kallieros

would it be possible for you steve to please send to my email the r2015a contact library?

Steve Miller

Unfortunately, the File Exchange does not permit submissions of over 20MB, and with all the examples I can only save 2 releases worth in the zip file. I have versions of library for each release all the way back to R2015a, so get me your email and I will send it.

--Steve

guessam ali

Hi, how to add Contact Forces Library in simscape multibodysuch that i get Matlab ver2017a

Steve Miller

Hi Utku -- please provide me your email address and I will email you the R2015b version directly. Unfortunately, the File Exchange does not permit submissions of over 20MB, and with all the examples I can only save 2 releases worth in the zip file. I have versions of library for each release all the way back to R2015a, so get me your email and I will send it.
--Steve

Geet Deogaonkar

Hi Steve,

Thank you for this wonderful library. Could you please send me the 2017A version? My email id is geet.deogaonkar@gmail.com.
Thank you!

Utku gun

Hi Steve I am trying to simulate a balance robot but I need a 2015b version can you help?

Steve Miller

Hi Mostafa - please provide me your email address and I will email you the R2016b version directly. Unfortunately, the File Exchange does not permit submissions of over 20MB, and with all the examples I can only save 2 releases worth in the zip file. I have versions of library for each release all the way back to R2015a, so get me your email and I will send it.
--Steve

Mostafa Hazem

Mostafa Hazem

Would you re-uploud 2016b version please?

Pratin Naik

Hey Steve,
Can you send me a copy for ver 17a?

Thanks,
Pratin

SImone

Seems very promising!
Is it possible to have a R2017a version?

Chinmay Deshpande

This looks great. I don't see to model tube in tube (3D) contact (application: piston in cylinder). Can you add that to the next submission. Thanks!

Steve Miller

@Angelo - contact me directly for R2017a versions.
@deltanabla - your park brake mechanism looks do-able to me.
@Dmitriy - mesh-to-mesh is possible but computationally expensive. I haven't worked on that yet, as I'm trying to see how far we can go with computationally efficient models.
@zy - for uneven terrain, you could use this library if your bumps can all be spheres or cylinders. The linear contact force is Kelvin-Voigt, the nonlinear one is similar to Hunt and Crossley, mainly included to show how to create a custom force. The documentation in the submission shows the formula I used.

zy han

Hi Steve
What is the contact model in the library?
Is it linear "Kelvin-Voigt Contact Model" and nonlinear "Hunt and Crossley Contact Model"? Or someone else?

Dmitriy Chuntonov

Steve, you're the best! Will there ever be a mesh to mesh contact model?

zy han

Hi Steve
I am right now using this library to simulate unmanned ground vehicle on uneven terrain, is there possible to add some more complicate type of contact, like sphere to sine wave cure surface, or sphere to self defined curve surface?

And, is there possible to add cylinder to x contact?

Lokesh Sreeni

deltanabla

Hi Steve,

I am interested in modelling the following parklock mechanism using simscape. I see in your library that there is a 'disk on finite plane'. I think this might be a starting point.
I would need to somehow create a wheel consisting of a circular pattern of flat surfaces which will be in contact with a cylindrical surface on the pawl.

Kind Regards
Ed

Angelo

Steve, now I can open the models but many of them seem not run with R2017a.
Undefined functions of variable error for many values . I think it does not depend on the matlab reléase but on some missing parameters in the initialization.
Can you help in this?
Thank you
angelo

Anusha Jain

Thanks, Steve.

Eliza Lu

thank u sooooooooo much

Chris Irlam

All solved now, thanks for the help Steve!

Steve Miller

@Chris - perhaps your stiffness and damping coefficients are too small. This should certainly work. If you can't figure it out, send me the model.
@Anousha - for uneven terrain, you need to insert a force between the feet and every panel of the surface. Not sure what kind of errors you're getting. Errors with this library are unusual, normally it is unexpected behavior.
@Shubham - there is a tread drive example for a chain-drive system such as a bulldozer. I have a better version of that model that I hope to upload soon. Email me if that is what you're looking for.

Chris Irlam

Hi Steve, I have an adapted model of a quadruped, based on the walking robot tutorial. When the joints are moving (i.e. a friction force is acting) the model behaves as expected. When the joints are completely stationary (no changes to the model itself), the robot falls through the floor. I am using Face to Plane contact forces (but have tried Sphere to Plane contact forces, with the same problem). Am I missing something, or have I discovered a bug?

Anusha Jain

It's a nice library. Did anyone get around with biped walking on uneven terrain? I am working on it and its showing lot of error messages.If so please share me your insight.

Dear all,
I am working with chain drive system For this which contact should i use? Can anyone suggest me this ?

HT Dai

Dear Steve,
I have read your answers, thanks a lot. I want to simulate the ring(or tube) on a cylinder, so I want a tube-on-tube contact force. Or you can give me some advices based on existing contact force library. Thanks very much!

Dhayaa Khudher

Many thanks, Steve, I've extended the two legs walking robot (robotics arena) to a six-legged robot. Everything was perfect. My question is, what to do to extend to step over an object or walking on an uneven surface?

Steve Miller

@Dhayaa - see https://www.mathworks.com/matlabcentral/fileexchange/64227-matlab-and-simulink-robotics-arena--walking-robot for robot walking on flat surface, can be extended to uneven surface.

@ HT. Tube-on-Tube would be great. I haven't yet had the time to derive (or find) the equations to determine the contact point and relative velocity between two tubes. Perhaps the community has suggestions.

@ Pavel - 69 and still going strong, wow. I'm inspired by you!

Dhayaa Khudher

Thank you so much for this very useful libraries.
Would it be possible to simulate contact with different surface level?
In other words, modelling a walking robot walk on uneven ground.
Thanks!

HT Dai

promising library, would this library can simulate the tube on tube force ?

Junjie Shen

Gabriel Lara

Pavel Osipov

Daniel Ruckser

Pavel Osipov

Thanks, Steve. Learning from you. I'm 69 years old. Saint Petersburg, Russia.

Taewon Kim

@Sebastian Castro: Thank you for your help! I did what you told, and now it works. I was suffer from that error until you help :)
Thanks!

Sebastian Castro

@Taewon Kim: This is a commonly encountered error and it has an easy solution. Please refer to the following MATLAB Answer.

Taewon Kim

First of all, thanks for your library!
However, I need some help. I just try to make simple example of collision between ball and plane, but I got some error.
'External Force and Torque External_Force_and_Torque_PlaB has its follower port rigidly connected to the world frame; it has no effect. You can configure this diagnostic in the Simscape Multibody Configuration Parameters dialog.'
I compared with example that you provide and tried figure out what is problem, but I don't know what is wrong.

Taewon Kim

timo

I get the error :(

Number of blocks in the block diagram 'Coll3D_05_Ball_Peg_Board' and all models it references exceeds the license limit of 1000 nonvirtual blocks.

Please heelp ! I cannot run any demo model

Alexander Volkov

Alexander Volkov

Steve,
Wonderful work! I've been using your library for about a year now at the Robotics Institute to simulate various robot-environment interactions. I was wondering if you have any advice regarding solver settings for robust but efficient execution of models with stiff collisions (metal on metal, etc.)? I've landed on ode15s with relative tolerance 1e-5, auto for max/min step size and abs tol, no shape preservation, fast solver reset, NDF max order 3, and auto for jacobian solver.

I know the documentation suggests that 1e-3 rel tol is usually sufficient, but I get instability very quickly otherwise.

This is all in the context of stick-slip friction with velocity thresholds on the order of 1e-3, and linear spring/damper normal forces with spring constants on the order of 1e4 N/m and damping on the order of 1e3 Ns/m...

My only thought is to artificially soften the stiffness in order to lower the effective time constants of the impulsive collisions that occur in the model... might you have any other insights?

Thanks!
Alex V.

timo

Does Matlab Home edition still gives error with this library that a limit of 1000 blocks has been reached or has it been fixed ?

Ed Marquez

Steve Miller

For your use case, I believe you would like to model an uneven 3D surface. I think to do this more efficiently, a triangular contact force element would be good. It would be easier to create a tesselated surface could be created that would only require 1 force per reference point instead of 3.

As with many modeling and simulation scenarios, you either "pay" during the modeling and compilation phase or pay during the simulation phase. Put another way, you either expend extra time during the modeling and compilation phase to create an efficient model that runs quickly, or you use a generic but expensive collision detection algorithm during simulation. For the time being, this submission is focused on the first method. Thanks -- Steve

Anton Nesterenko

Thanks!
Wow, in retrospect it is really obvious.
Last question, if you don't mind: is it in any way possible to model an uneven surface with this lib? I understand that i can, theoretically, assemble whatever surface i want from lots of small planes and balls. But when i as much as try to add lots of contact blocks - the model begins to take forever to compile.
I recognize that this is a complex subject and i guess there is no magical solution, but maybe you have any hints for me.
Thank you for great work.

Steve Miller

Hi Anton - to prevent the sphere from entering at the edge of the plane, you need to add another contact force. With 3 Sphere to plane contact forces oriented along the X, Y, and Z axes of a cube, you can create a "Sphere to Cube" contact force. --Steve

Steve Miller

Hi Anton and Richard - Weld Joints are only rarely needed in Simscape Multibody, and I don't expect you would need them here. Can you upload a screenshot of the error, and perhaps the model? I suspect you have connected rigid transforms in a loop and all you would need to do is delete one of the connection lines, but I would need to see the error message and model to be sure. Thanks, --Steve

Richard Terkovic

Hi Anton, I have encountered a similar issue and using weld joint to connect to the contact block helped me to solve the issue.

Xu Zhang

Cjjb Gh

plz,help me. I don't quite understand the the friction force in the library. your friction force in always a product of the coefficient of the friction times the Normal force. If the ball purely rolls, the velocity at point of contact is zero. Then,the coefficient is zero,there would be no friction.

shatrughan modi

Thomas Pujolle

Hi Steve,

First off, awesome library, this was definitely missing from simbody.

For that project I am trying to model a car. I have 2 free rear wheels and two steering wheels in the front. The weight of the car is 1500kg. When I apply a constant torque of 250Nm on the front wheels, the car gain speed, but the wheel rotation speed seem to oscillate around a ramp. It is slow at first but the frequency of the oscillation seems to increase at the vehicle speed increases as well.

Is it a natural behaviour in any car? Are there oscillations in the wheel rotation speed that are not really a problem? Is it something coming from your library? I am a bit new to mechanics so I cannot really tell.

You can reproduce all that in your 2 wheel robots buy applying a constant torque of 0.05 and plotting the angle rate from the revolute joint directly.

In my case I get the oscillations with any torque value, say from 100 to 500 for example.

Any help or tip on that would be much appreciated.

Cheers

Steve Miller

Daniel - thanks for catching the problem with the signal outputs. That is fixed in latest update (v3.4, both R16a and R16b).

Jing -- the Simscape blocks could be used for contact along one dimension, such as a hardstops in a cylinder or backlash in gears. These models are intended for 2D or 3D contacts. See this File Exchange Submission:

http://www.mathworks.com/matlabcentral/fileexchange/37636-simscape-multibody-3d---1d-interface-examples

Qing -- anisotropic friction, good request. These models assume friction is the same in all directions. Do you have an animation of the movement you are expecting? There might be a way to use multiple forces at right angles to get the desired effect, but it would require some thought.

Thanks for all the comments and feedback!

Qing Xiao

Hi Steve,
This library is awesome! But I got some trouble when I used it to model the snake robot. The snake robots need anisotropic friction to move forward. If I used Sphere-to-Plane Force to model the contact force and friction force between the wheels and plane, the friction became isotropic. So the robot just rolled on the floor and did not move a bit. Could you give me some advice about how to achieve anisotropic friction between wheels and plane? Thank you so much!

Jing Liu

Hi Steve,

This library is great! But I found there is some friction blocks in Simscape, like the Rotational Friction/Damper blocks in the Foundation Library of Simscape. What is the difference between your library and those simple blocks? Is it possible to build the same contact model with these original Simscape blocks?

Daniel Stuewe

This library has been a great asset for the work that I'm doing. Thank you very much for this!

(now for the "But...")

I'm using the 2D library and I've noticed what I believe is an error with the output forces for the Circle to Ring block. I think the forces are applied to the joints correctly, but the output force does not "turn off" when the circle has passed beyond the active range. Therefore my plots are showing a constant ring force once the circle is beyond the ring (my model transitions from a ring to a circle to a line).

Normally this would be essentially a cosmetic problem, but I need the contact forces so I'm having to put my own logic in to zero out the force at the appropriate location.

Thanks again for these powerful tools.

Lei Gao

Hi Steve,
I found that there might something wrong with the friction force law.
When v_th < v < 1.5v_th, I think the function should be:
u = 3*us - 2*uk - (us-uk)*v/(0.5*v_th)
rather than
u = us - (us-uk)*v/(0.5*v_th).
However I checked the "Friction Law" block and it should works correctly.

Many thanks,
Lei

horseface Lee

Hey Steve
I wonder your lib allow me to use multiple point on one elements. I try to achieve it by putting 4 sphere at the corner of the lower side of a cube(which was imported from solidwork). I thought I will see four ball connected to each other through the cube and bounce when it hit the plane. However, it turns out that only one sphere does the correct reaction.

Lei Gao

I wonder if someone has modeled contact between two surfaces whose geometries are determined by splines. If this library suitable in such a case?
I will appreciate it if anyone can help.

Engenner Algerian

Hi, thanks Steve For the library ...
i am searching for a way to determine the collision detection between two bodies,
best regards

Tudor

Hey Steve,

The error is not there actually. I just made a minimum working example and it works as it should :) So your model works very well. I might have made a mistake somewhere in my previous project where it seemed that there was an error in the contact block.

Steve Miller

Hi Tudor - not sure which blocks you are referring to. Damping behavior appears correct in Frict3D_04_Ball_on_Ball. Will follow up with you separately.

Vinay - sorry it took me a while to react to your post. Feel free to contact me via my author page.

Janmejaya - yes, you can measure force per leg.

Prof Liebgott - Converting the internals of the force blocks to an S-Function would likely create a model with less than 1000 blocks. I will give this a try.

Thanks for all the interest and use of the library! --Steve

Tudor

Hey Steve,

The damping force in the sphere-to-sphere is not correct. You are applying it to the norm of the speed, which can never be negative, so after the saturator the result is always 0.

Zafb

janmejaya nanda

Hi Steve..
Can I use it to find magnitude of Ground Reaction Force acting on a leg of hexapod ?
OR
If I am going to vary weight on each leg, by adding some mass block, is GRF calculated using this library is going to vary?

Ivan Liebgott

Thanks a lot,
This library is very useful and correspond to classical mechanical enginneering problems. Unfortunatly most of examples use more than 1000 blocs and it is not possible to use them with the MATLAB Pass licence with my students...Is there any solution to run these models on MATLAB pass licence?
Professor Ivan LIEBGOTT

liu lei

Well, it's very useful,thanks a lot. I met a problem on 08 July and this file update to 3D one day later ,I'm so lucky and thank to Steve Miller.

Tudor

Hello,

I am very happy to have found this library, as it helped me a lot in my simulations.

I will, however, need a version of this library that works in 3D; is there any such thing? If not, would you be interested in providing some tips for me to create one, based on this current submission (which is great btw)?

Under what license is your work published? Can I modify it? Would I be able to publish a new library, based on yours, if I ever get it to work?

Thank you,
Tudor

Montassar

Hello Steve, My name is Montassar and I m a young PhD Student from France.
i have seen your work the 2D contact library, i really find it very interesting and innovating, but i do have a question, how did you find information about the variables "k" and "b" for the spring and the dumper, i know it is related to the material used and k=the young modulus, but how can you be "sure" of the values of the k and b that you are using.
thank you very much for you time and your help.
kind regards

Janne Salomäki

OK, I had to make a new File Exchange submission.

http://www.mathworks.com/matlabcentral/fileexchange/49374-rolling-ball-on-plane

Steve Miller

The models in this submission are for use with SimMechanics Second Generation Technology. SimMechanics is being actively developed with new features each release (every six months) -- see the release notes online:

http://www.mathworks.com/products/simmechanics/whatsnew.html

New features are added to Second Generation Technology (2G). First Generation Technology (1G) will be supported as long as is necessary.

Lucas Koorneef

Thanks for your update. Will these models work for the First-Generation SimMech or the Second-Generation technology ?

I'm not feeling comfortable to use a product in which is not being actively developed anymore. Sure it will work for a few next releases, but for how long ?

Steve Miller

3D contacts and contacts with splines are possible with SimMechanics. We've done that with other users, using both Simulink and MATLAB for custom contact detection and force calculation. Though I cannot share those confidential models, I'm working on versions that can be shared. Thanks for your interest and questions.

Lucas Koorneef

As far as I understand no 3D contacts are possible. Only line to line, line to circle etc.

For more complex cam geometries simmechanics is pretty useless. You can't use a cubic spline for instance.

We used Adams for this, a real multi body package.

Janne Salomäki

Great library. However, I would need a 3D contact, for example "Circle to Finite Plane Force". It could be used to model a ball on a plane. Are you going to provide that?

##### MATLAB Release Compatibility
Created with R2020b
Compatible with R2015a to R2020b
##### Platform Compatibility
Windows macOS Linux

### Community Treasure Hunt

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

Start Hunting!