> For the complete documentation index, see [llms.txt](https://docs.robpod.cloud/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.robpod.cloud/hmi-designer/working-examples/doosan-robotics/impedance-control-example-dr.md).

# Impedance Control Example DR

### HMI Panel File

<figure><img src="https://175138337-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fvxlh3prlGsBGF30oqbYW%2Fuploads%2FiFSbFyjntV5gvDtDoA7d%2Fimmagine.png?alt=media&amp;token=d923fb76-8dcc-42fb-ae5a-af33c83dd046" alt=""><figcaption></figcaption></figure>

{% file src="/files/b1AiBptroIrQgPdyV0WG" %}

### Script File

```python
from DRCF import *

# impedance control gains
Kp = 50
Kd = 40

running = False

# impedance control function
def start_task():
    global running

    # setup compliance parameters
    stiffness = [Kp*200, Kp*200, Kp*200, Kp*4, Kp*4, 400]
    damping = [max(0.1, Kd*0.02), max(0.1, Kd*0.02), max(0.1, Kd*0.02), max(0.1, Kd*0.02), max(0.1, Kd*0.02), 1]

    # home position
    movej(posj(90, 0, -90, 0, -90, -85.0), v=30, a=100)
    set_external_force_reset()

    # start impedance control
    task_compliance_ctrl(stx=stiffness)
    set_damping_factor(damping)

    # wait for user to stop impedance control
    running = True
    while running:
        wait(1)

    # resume position control
    release_compliance_ctrl()

```

### Task File

<figure><img src="https://175138337-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fvxlh3prlGsBGF30oqbYW%2Fuploads%2FRnuOD7T1y8cDizuXu7RG%2Fimmagine.png?alt=media&amp;token=a446f130-8e19-485a-8718-b2411c7dfcbe" alt=""><figcaption></figcaption></figure>

{% file src="/files/mzXjxmDXrZyzI8lZb8vp" %}
