Robot Controls - {robot.id}
{#if isManualControlEnabled}
Manual Control
{:else}
External Control
{/if}
{#each joints as joint}
{joint.name}
{joint.value.toFixed(1)}%
{#if joint.name.toLowerCase() === "jaw" || joint.name.toLowerCase() === "gripper"}
0% (closed)
updateJoint(joint.name, parseFloat(e.currentTarget.value))} class="h-2 flex-1 cursor-pointer appearance-none rounded-lg bg-slate-700 disabled:cursor-not-allowed disabled:opacity-50" />
100% (open)
{:else}
-100%
updateJoint(joint.name, parseFloat(e.currentTarget.value))} class="h-2 flex-1 cursor-pointer appearance-none rounded-lg bg-slate-700 disabled:cursor-not-allowed disabled:opacity-50" />
+100%
{/if}
{#if joint.limits}
URDF limits: {joint.limits.lower}° to {joint.limits.upper}°
{/if}
{/each}