# Force Control contact behavior

**URL:** <https://tech-community.robotics.abb.com/t/force-control-contact-behavior/12102>\
**Category:** RAPID Programming\
**Created:** [December 8, 2025, 8:08am UTC](https://tech-community.robotics.abb.com/t/force-control-contact-behavior/12102 "2025-12-08T08:08:26Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![grth46](https://avatars.discourse-cdn.com/v4/letter/g/48db29/32.png) [@grth46](https://tech-community.robotics.abb.com/u/grth46)\
**Post date:** [December 8, 2025, 8:08am UTC](https://tech-community.robotics.abb.com/t/force-control-contact-behavior/12102/1 "2025-12-08T08:08:26Z")

</div>

Hi there, I am currently trying to use an IRB6700 for a stiffness testing application. At first the robot should generate contact between its tool and the part while maintaining a given contact force for a few seconds. Then it should drive further into the part with a fixed velocity, e.g. 2 mm/s, until it reaches another predefined contact force in tool-z-direction. After that the robot should ramp down from this force with the same velocity from before and stop at the starting point.

I’ve tried different ways of programming for this, but in the end I always end up with some problem. Currently I am working with the procedure below:

!Achieve contact with part  
FCRefForce\Fz:=10;  
FCCondForce\ZMax:=10,60;  
FCAct t\_data\WObj:=w\_data\ForceFrameRef:=FC\_REFFRAME\_TOOL;  
FCSetDampingTune 9E+09,9E+09,4000,9E+09,9E+09,9E+09;  
FCRefStart;  
FCCondWaitWhile;  
WaitTime \InPos, 5;  
FCRefStop;

!Ramp up to desired force  
FCRefForce\Fz:=500;  
FCCondForce\ZMax:=500,60;  
FCSetDampingTune 9E+09,9E+09,12000,9E+09,9E+09,9E+09;  
FCRefStart;  
FCCondWaitWhile;  
FCRefStop;

!Ramp down to starting point  
FCRefForce\Fz:=1;  
FCCondForce\ZMin:=1,60;  
FCSetDampingTune 9E+09,9E+09,24,9E+09,9E+09,9E+09;  
FCRefStart;  
FCCondWaitWhile;  
FCRefStop;

Waittime 1;  
FCDeact;

I’ve tried to use the FCRefForce in combination with the Damping Tune to set a fixed TCP speed, but the robot still speeds up or slows down during the procedure. I’ve also tried FCRefLine to ramp down, but the force starts oscillating near zero.

Does someone know how to do this in force control mode? The ideal process should look like a perfect triangle in the TuneMaster.
