MATLAB Answers

Changing simscape contact conditions during simulation conditionally

1 view (last 30 days)
Clyde Webster
Clyde Webster on 22 Sep 2020
Answered: Steve Miller on 5 Jun 2021
I'm trying to figure out how to make body contacts conditional in simscape multibody?
As an example, I'm trying to model a 2D robot climbing on a ladder. I'd like to make the ladder rung contact available only after the grasping body has passed the ladder rung. In 3D this would be done by an out-of-plane motion, however for simplicities sake I'd like to avoid the extraneous detail for this work and assume a grasping point is available only after the grasping body has moved passed the ladder rung. Currently I'm using the Circle to Finite Line contact from the Multibody Contact Forces Library, and I'm looking to find a way to only activate it when the circle has passed a certain height (position of the ladder rung).
  1 Comment
Clyde Webster
Clyde Webster on 22 Sep 2020
I've found a block in the contact library called Circle to Finite Line Force Enabled. That appears to have an adiditonal input for potentially enabling/disabling the contact. However, I can't find any documentation that states how to use it. I'll update here if I figure it out.

Sign in to comment.

Answers (1)

Steve Miller
Steve Miller on 5 Jun 2021
You are on the right track, Clyde! The "Enabled" blocks in the Simscape Multibody Contact Forces Library allow you to enable/disable the contact force using an input signal. Create a bus signal that has a signal labled "Enable" that is 0 for disable, 1 for enable.
See example model Gripper_2Belts.slx in the Simscape Multibody Contact Forces Library for an example of how to use it.
--Steve

Community Treasure Hunt

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

Start Hunting!