MATLAB Answers

How do you represent contact with the ground in simscape?

44 views (last 30 days)
Josh
Josh on 13 Oct 2013
Answered: Steve Miller on 6 Aug 2017
Hi,
I am (eventually) attempting to create a model which I can use to simulate control algorithms on a humanoid robot.
However whilst starting with simple models - I can't work out how to represent the ground, so that when any part of the bodies come into contact with this - they stop/bounce etc.
Is there any way of doing this?
thanks
  1 Comment
prakhar jain
prakhar jain on 5 Feb 2017
check:sm_double_wishbone_suspension in simulink model. This should help you out. Check out the implementation of hard stop between the tyre and the road profile. That should help.

Sign in to comment.

Answers (3)

Steve Miller
Steve Miller on 6 Aug 2017
For 1D contact problems where only viscous friction is present, the hardstop block may be sufficient. However, for 2D and 3D problems or if the friction force depends on the normal force, I recommend looking at the File Exchange submission Simscape Multibody Contact Forces Library. It contains a library of blocks for use with Simscape Multibody that detect collision between various shapes, calculates the normal force and friction force on each part, and applies them to the colliding parts.
Below are a few animations that test models included in the submission. The Simscape Multibody Contact Forces Library contains the library for current and previous MATLAB releases.
Thanks,
--Steve
Here is another one:

Ryan G
Ryan G on 14 Oct 2013
You want the translational hard stop block.
With a bi-ped robot you'll probably want to make some design decisions with the model in terms of trading off fidelity for simulation speed and usability. Each point that is capable of hitting the ground would require a hardstop. So, if you don't need to model the robot falling over, you can skip modeling that ground-body interaction.

Zafb
Zafb on 4 Apr 2015
Hi, I am trying to do the same thing in 2015...Got some help from the following link which uses translational "hard stop" block http://www.mathworks.com/matlabcentral/answers/137140-contact-simulation-in-simmechanics
But the leg never bounces back, instead it goes through the ground. Even though I can see the contact force being produced when the leg hits the ground and is going through it.
Do you have any idea what might be wrong in my model?
Thanx in advance,
Zohaib
  3 Comments

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!