Azzera filtri
Azzera filtri

Changing simscape contact conditions during simulation conditionally

6 visualizzazioni (ultimi 30 giorni)
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 Commento
Clyde Webster
Clyde Webster il 22 Set 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.

Accedi per commentare.

Risposta accettata

Steve Miller
Steve Miller il 5 Giu 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 Commento
Clyde Webster
Clyde Webster il 26 Gen 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.

Accedi per commentare.

Più risposte (0)

Community Treasure Hunt

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

Start Hunting!

Translated by