# UR RTDE joint servo motion example

SDU Robotics Python example that connects an RTDE control interface, moves to an initial joint target and repeatedly sends sinusoidal six-joint servoJ targets. Importing or running the original script can start physical motion; this reference supplies inert source metadata only.

ID: `ur-rtde-servoj`

Record version: `source-411f67e9b556b2d18f599592b153ce01ba71b9895466ac25ff291f2ba9e736d2`

Hub commit: `1c4c1e1533ff364fd4a35cddc8750b9306b0a5ba`

## Access

Read the pinned source and upstream setup before use. This maintainer-reviewed source reference does not install or execute code.

Optional inert file retrieval: `python /PATH_TO_SKILL/scripts/rsh.py fetch-source ur-rtde-servoj --expected-source-revision f5492109848a9fa6582df76dffa09c510ac36393 --expected-source-sha256 411f67e9b556b2d18f599592b153ce01ba71b9895466ac25ff291f2ba9e736d2 --project ./experiment --json`. This verifies one file, preserves provenance and never installs or runs it. See [source-file retrieval](https://hub.superfastrobotics.com/source-files.md).

Hub preparation adapter: **false**. Runtime verification: **not_run**.

Upstream setup: https://gitlab.com/sdurobotics/ur_rtde/-/raw/f5492109848a9fa6582df76dffa09c510ac36393/README.md

## Source and license

- Repository: https://gitlab.com/sdurobotics/ur_rtde
- Pinned source: https://gitlab.com/sdurobotics/ur_rtde/-/raw/f5492109848a9fa6582df76dffa09c510ac36393/examples/py/servoj_example.py
- Revision: `f5492109848a9fa6582df76dffa09c510ac36393`
- Path: `examples/py/servoj_example.py`
- Source SHA256: `411f67e9b556b2d18f599592b153ce01ba71b9895466ac25ff291f2ba9e736d2`
- Source bytes: 1201
- Original authors: SDU Robotics
- License: [MIT](https://gitlab.com/sdurobotics/ur_rtde/-/raw/f5492109848a9fa6582df76dffa09c510ac36393/LICENSE)
- License scope: Selected ur_rtde example source code under the pinned repository MIT license. Preserve its copyright and permission notice, including Anders Prier Lindvig - SDU Robotics. Third-party dependencies, robot firmware, URCaps and hardware retain their own applicable terms.

## Artifact

```json
{
  "kind": "code",
  "format": "python"
}
```

## Requirements

```json
{
  "python": null,
  "packages": [
    "ur_rtde Python bindings providing rtde_control",
    "numpy"
  ],
  "hardware": [
    "Operator-authorized UR robot/controller with a configured RTDE endpoint; model and software versions are unverified"
  ],
  "system": [
    "Network access to the intended RTDE controller endpoint",
    "An operator-reviewed Python environment for the pinned source and its bindings"
  ],
  "notes": "This straight-line script constructs RTDEControlInterface with an embedded loopback address and calls moveJ before entering its try/finally block. A loopback address does not establish a simulator environment. Inspect and adapt the address, six-joint start target, sinusoidal amplitudes/frequencies/phases, lookahead and gain for the authorized installation. The loop uses dt=1/500 seconds with initPeriod, servoJ and waitPeriod; this is a requested control period, not measured real-time or 500 Hz performance. It continues until interruption or another exception. The finally block calls servoStop and stopScript after leaving that loop; startup operations occur before it. The pinned README provides project-level installation and robot/OS declarations; no Python/package version, controller, firmware, robot, operating-system or timing combination was resolved or tested for this source."
}
```

## Invocation

```json
{
  "entrypoint": "python examples/py/servoj_example.py",
  "notes": "Upstream invocation only after separate operator authorization and configuration. There is no main guard, and executing or importing the file can connect and move hardware. The source defines an indefinite servo loop and does not verify reachability, collision safety or real-time scheduling. The Hub supplies no execution/preparation adapter. No upstream execution, controller contact, simulator or package installation was performed during source review."
}
```

## Compatibility

```json
[]
```

Missing environment fields remain unknown. Source discovery labels do not establish robot compatibility.

## Evidence

Level: **source_reviewed**. Runtime verification: **not_run**.

Complete pinned source read and SHA-256 checked as inert text; Python AST parsed without importing or executing it. Applicable MIT license and pinned README bytes checked independently. Hardware effects and setup declarations are source observations; no controller, robot, simulator or runtime environment was tested.

Source review and contributor reports do not establish task completion. Preserve upstream attribution and licenses.
