Changing simscape contact conditions during simulation conditionally

2 Ansichten (letzte 30 Tage)
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 Kommentar
Clyde Webster
Clyde Webster am 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.

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Steve Miller
Steve Miller am 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
  1 Kommentar
Clyde Webster
Clyde Webster am 26 Jan. 2022
Thanks for your repsonse, Steve. I finally got it working.
It's not "neat", but for the 2D case I'm just sinking a sphere very slightly into a plane and using the "Sphere to Plane Force Enabled" block to switch on and off contact. As gravity is against me, all (well the bulk of) the reaction forces are generated through friction, and to facilitate this I simply bumped up the friction coefficient to about 10000 to emulate a grasping contact that would be stiff in this direction.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Community Treasure Hunt

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

Start Hunting!

Translated by