MATLAB: How to Model Friction to obtain different values between x and z directions of cube.

dynamicsfrictionSimscape Multibodysimulink

I am trying to create a snake-like robot simulation using simscape multibody, using multiple cubes connected end on end to form body segments. My problem is that I have been unable to figure out how to model friction on each cube so that the z compondent of friction on each cube has a lower amount of friction than the horizontal x component of friction. Is there a way to model each axis of friction idepedently so that they can each have a unique value.
Thanks in advanced for the assistance

Best Answer

Hi - to apply different friction values laterally and longitudinally, you need to create separate friction models for the two axes.
  1. Use a transform sensor to measure the relative velocity of the snake segment along the appropriate axis
  2. Use the relative velocity (and normal force, same for both friction calculations) to calculate the friction force. The friction force should have different coefficients of friction for each axis.
  3. Apply the friction using the External Force and Torque block. Make sure the correct force is applied along the correct axis.
You will find contact force examples in the Simscape Multibody Contact Forces Library
I haven't created one with anisotropic friction (your request), but it does show you the modeling method for the steps shown above. When I create such an example, I will let you know.
-Steve