## How do you represent contact with the ground in simscape?

### Josh (view profile)

on 13 Oct 2013
Latest activity Answered by Steve Miller

### Steve Miller (view profile)

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

prakhar jain

### prakhar jain (view profile)

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.

### Steve Miller (view profile)

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 (view profile)

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 (view profile)

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?
Zohaib

N/A

### N/A (view profile)

on 14 Apr 2015
Try increasing the spring coefficient in the Translational Hard Stop block. This is equivalent to modeling a harder surface, which should prevent the falling body from cutting through the ground. Beware, though, that a very large spring constant can slow down simulation. You want to increase the stiffness just enough to ensure the falling body does not penetrate the contact surface.
Zafb

on 3 Feb 2016