MATLAB: Modelling of Robot contact with object

Simscape Multibody

I am a PhD student working on multi fingered robot hand for grasping. For grasping issue, I need to model a contact between fingertip and stiff simple object with known location and geometry for measuring contact force. This can be done in simulink easily. I am trying to implement in Simmechanics. I already had a look at bouncing ball model. For example, I have 2 dof planar robot hand and a vertical wall model. I defined end link of robot and also defined wall with weld joint. Assume for simplicity that I will get force only in horizontal direction and also defined condition to get contact force. Now, do I need to put an extra degree of freedom between last link of robot body and object body? I am stucked at this point. If you have any option, I can send the file, too.
Your help will be appreciated. Thank you.
Rakibul Hasan

Best Answer

You have 2 options:
1. You can model only the arm (no wall in SimMechanics). Use a Body sensor to get the pose of the EE in Simulink, then compute the contact forces/torques and apply them to the arm using a Body Actuator.
2. Connect a joint between the 2 parts (arm and wall). In your 2D example this would probably a planar. Then use a Joint sensor to measure the relative position of the 2 bodies. In Simulink, compute the contact forces/torques and apply back to the joint using a joint actuator.
This central submissions can give you an example of computing and applying contact forces with the ground: