Experimental: run your own fine-tuned π0.5 deployment on a Universal Robots e-Series or UR Series arm with a Robotiq gripper.
Experimental. Universal Robots support has run on one UR7e with a Robotiq 2F-85 on
PolyScope X, and nowhere else yet. Other arms, grippers and PolyScope 5 are expected to
work but haven’t been tried, and commands and setup may change without notice. Expect
rough edges, stay at the e-stop, and tell us how it goes at
team@dreamscalelabs.com.There is no shared model for UR arms: you record demos, train π0.5 on them,
and run the result.
Under Settings › Security › Services, enable RTDE, the Primary Client
Interface and the Real-Time Client Interface.
Install UR’s External Control and Tool Communication Forwarder URCapXs. Remove
Robotiq’s URCapX if it is installed: it holds the wrist port. Open the forwarder’s
Application screen and press Start.
Make a program named dreamscale with two nodes. First a Script node:
Use your gripper and camera’s mass in kg and centre of gravity in metres. Then an
External Control node with this computer’s IP address.
To start runs from the computer, switch the pendant to Remote control (PolyScope X
10.11 or later). In Local control you press Play on the program when the CLI asks.
On PolyScope 5, use the External Control URCap and Robotiq’s own URCap instead.
uv tool install dreamscaledreamscale logindreamscale robots ur setup
Open the URL it prints, then choose your arm model, enter the control box address, pick
the gripper and assign the scene and wrist cameras. Setup only reads the arm and gripper;
nothing moves. No browser? Use dreamscale robots ur setup --cli.
The arm will move. Clear the workspace and keep the e-stop within reach. Software
limits do not prevent collisions, and cloud inference does not replace your robot’s
safety configuration.
dreamscale run ur --model your-org/my-ur-demos
At Instruction, type a task, for example put the cup on the plate.
At Enter to start, press Enter. The first time, this connects: in Remote control
the dreamscale program starts by itself; in Local control press Play when asked.
The arm runs the task. Press Ctrl+C to stop; it returns to its home pose if you
saved one, and asks for the next instruction.
Joints move at most 1 rad/s, and slower on arms longer than a UR7e. The arm holds its pose
after the command exits; stop the program on the pendant when you’re done.
Stuck? See Troubleshooting.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Dreamscale","description":"Run robot foundation models on cloud GPUs from the CLI or a few lines of Python.","colors":{"primary":"#16181A","light":"#F7F8F7","dark":"#73777A"},"logo":{"light":"https://mintcdn.com/dreamtimelabs/ql1nAmOIh_SfC8Mi/logo/light.svg?fit=max\u0026auto=format\u0026n=ql1nAmOIh_SfC8Mi\u0026q=85\u0026s=c138f46a7aba75b9300d25a69ea915d7","dark":"https://mintcdn.com/dreamtimelabs/ql1nAmOIh_SfC8Mi/logo/dark.svg?fit=max\u0026auto=format\u0026n=ql1nAmOIh_SfC8Mi\u0026q=85\u0026s=4deee6bdcecfc7d8be1639f9db6ae7fe"},"favicon":"https://mintcdn.com/dreamtimelabs/ql1nAmOIh_SfC8Mi/logo/dreamscale-mark.svg?fit=max\u0026auto=format\u0026n=ql1nAmOIh_SfC8Mi\u0026q=85\u0026s=59f3a3bc314c28a70b0ed801e1563c59","navbar":{"links":[{"href":"mailto:team@dreamscalelabs.com","label":"Support"}],"primary":{"type":"button","label":"Dashboard","href":"https://app.dreamscalelabs.com/dashboard"}},"fonts":{"family":"Geist"},"contextual":{"options":["copy","view","chatgpt","claude","cursor"],"display":"header"},"variables":{"sdkVersion":"0.1.0a258","dashboardUrl":"https://app.dreamscalelabs.com","docsUrl":"https://docs.dreamscalelabs.com","supportEmail":"team@dreamscalelabs.com"},"markdown":{"instructions":["Treat the Dreamscale CLI and Python SDK as the supported public integration surfaces.","Prefer `dreamscale run \u003crobot>` for supported robots and `dreamscale.connect(model)` with `predict` or `next_action` in Python.","Do not infer or recommend internal control-plane APIs."]},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"dreamtimelabs","hasAudioNarration":false,"actualSubdomain":"dreamtimelabs","customDomains":["docs.dreamscalelabs.com"],"gitSource":{"type":"github","owner":"dreamscale-labs","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"chroma":{"collectionId":"cbe835a3-ce7b-4e70-ae6c-bf36d88a8297","liveDeploymentHistoryId":"6ae49902c2eaceb0e344e585","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae49902c2eaceb0e344e585"},"feedback":{"issues":false},"entitlements":{"AI_CHAT":{"status":"DISABLED"}},"buildId":"6ae49902c2eaceb0e344e585","clientVersion":"0.0.4044","searchFilterCounts":[{"language":"default","tag":"Run on your robot","count":6},{"language":"default","tag":"Improve your model","count":3},{"language":"default","tag":"Get started","count":2},{"language":"default","tag":"References","count":2},{"language":"default","tag":"Help","count":1}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":true},"customCss":[],"page":{"pagePath":"robots/ur","slug":"/robots/ur","pageMetadata":{"title":"Universal Robots (experimental)","sidebarTitle":"Universal Robots (experimental)","description":"Experimental: run your own fine-tuned π0.5 deployment on a Universal Robots e-Series or UR Series arm with a Robotiq gripper.","keywords":["Universal Robots","UR","UR5e","UR7e","UR10e","PolyScope X","Robotiq","dreamscale robots ur setup","dreamscale run ur","experimental"],"href":"/robots/ur"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Experimental: run your own fine-tuned π0.5 deployment on a Universal Robots e-Series or UR Series arm with a Robotiq gripper.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,ol:`ol`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,Heading,Warning}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Experimental.`}),` Universal Robots support has run on one UR7e with a Robotiq 2F-85 on\nPolyScope X, and nowhere else yet. Other arms, grippers and PolyScope 5 are expected to\nwork but haven’t been tried, and commands and setup may change without notice. Expect\nrough edges, stay at the e-stop, and tell us how it goes at\n`,_jsx(_components.a,{href:`mailto:team@dreamscalelabs.com`,children:`team@dreamscalelabs.com`}),`.`]}),`\n`,_jsxs(_components.p,{children:[`There is no shared model for UR arms: you record demos, `,_jsx(_components.a,{href:`/training`,children:`train`}),` π0.5 on them,\nand run the result.`]}),`\n`,_jsx(Heading,{level:`2`,id:`what-you-need`,children:`What you need`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`A UR e-Series or UR Series arm: UR3e, UR5e, UR7e, UR10e, UR12e, UR16e, UR8 Long, UR15,\nUR18, UR20 or UR30, on PolyScope X or PolyScope 5.`}),`\n`,_jsx(_components.li,{children:`A Robotiq 2F-85, 2F-140 or Hand-E on the wrist, or no gripper.`}),`\n`,_jsxs(_components.li,{children:[`Two RGB cameras: `,_jsx(_components.strong,{children:`scene`}),`, looking over the arm at the table, and `,_jsx(_components.strong,{children:`wrist`}),`, on the\ngripper. USB (UVC), ZED and RealSense cameras work.`]}),`\n`,_jsx(_components.li,{children:`A Linux computer on the arm’s Ethernet network, wired to the cameras.`}),`\n`,_jsx(_components.li,{children:`The pendant’s e-stop within reach.`}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`1-prepare-the-pendant`,children:`1. Prepare the pendant`}),`\n`,_jsx(_components.p,{children:`On PolyScope X:`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[`Under `,_jsx(_components.strong,{children:`Settings › Security › Services`}),`, enable `,_jsx(_components.strong,{children:`RTDE`}),`, the `,_jsx(_components.strong,{children:`Primary Client\nInterface`}),` and the `,_jsx(_components.strong,{children:`Real-Time Client Interface`}),`.`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[`Install UR’s `,_jsx(_components.strong,{children:`External Control`}),` and `,_jsx(_components.strong,{children:`Tool Communication Forwarder`}),` URCapXs. Remove\nRobotiq’s URCapX if it is installed: it holds the wrist port. Open the forwarder’s\nApplication screen and press `,_jsx(_components.strong,{children:`Start`}),`.`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[`Make a program named `,_jsx(_components.code,{children:`dreamscale`}),` with two nodes. First a `,_jsx(_components.strong,{children:`Script`}),` node:`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`4`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`4`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`set_tool_voltage(24)`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`set_tool_communication(True, 115200, 0, 1, 1.5, 3.5)`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`set_target_payload(1.1, [0, 0, 0.07])`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),`\n`,_jsxs(_components.p,{children:[`Use your gripper and camera’s mass in kg and centre of gravity in metres. Then an\n`,_jsx(_components.strong,{children:`External Control`}),` node with this computer’s IP address.`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[`To start runs from the computer, switch the pendant to `,_jsx(_components.strong,{children:`Remote control`}),` (PolyScope X\n10.11 or later). In Local control you press `,_jsx(_components.strong,{children:`Play`}),` on the program when the CLI asks.`]}),`\n`]}),`\n`]}),`\n`,_jsx(_components.p,{children:`On PolyScope 5, use the External Control URCap and Robotiq’s own URCap instead.`}),`\n`,_jsx(Heading,{level:`2`,id:`2-install-and-set-up-the-rig`,children:`2. Install and set up the rig`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`3`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`3`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`uv`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` tool`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` install`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` dreamscale`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`dreamscale`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` login`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`dreamscale`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` robots`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` ur`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` setup`})]}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`Open the URL it prints, then choose your arm model, enter the control box address, pick\nthe gripper and assign the scene and wrist cameras. Setup only reads the arm and gripper;\nnothing moves. No browser? Use `,_jsx(_components.code,{children:`dreamscale robots ur setup --cli`}),`.`]}),`\n`,_jsx(Heading,{level:`2`,id:`3-check-everything`,children:`3. Check everything`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`dreamscale`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` doctor`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` ur`})]}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`It checks RTDE, the arm’s state, the gripper and both cameras without moving anything.\nEvery line shows a `,_jsx(_components.code,{children:`✓`}),`.`]}),`\n`,_jsx(Heading,{level:`2`,id:`4-save-a-home-pose`,children:`4. Save a home pose`}),`\n`,_jsx(_components.p,{children:`Freedrive the arm on the pendant to where every run should start, gripper clear of the\ntable and the wrist camera on the work area. Then:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`dreamscale`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` robots`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` ur`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` home`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --set`})]}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`dreamscale robots ur home`}),` moves back there slowly and opens the gripper.`]}),`\n`,_jsx(Heading,{level:`2`,id:`5-record-and-train`,children:`5. Record and train`}),`\n`,_jsx(_components.p,{children:`Record demos on this rig as a LeRobot dataset with:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`observation.images.scene`}),` and `,_jsx(_components.code,{children:`observation.images.wrist`}),`, in that order;`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`observation.state`}),` and `,_jsx(_components.code,{children:`action`}),`: 7 values each, the six joint positions in radians\nfrom base to wrist 3, then the gripper from 0 (open) to 1 (closed).`]}),`\n`]}),`\n`,_jsxs(_components.p,{children:[`Then train and deploy it as on `,_jsx(_components.a,{href:`/training`,children:`Training`}),`. `,_jsx(_components.code,{children:`train deploy`}),` prints the command\nthat runs your deployment.`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`3`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`3`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`dreamscale`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` datasets`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` upload`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` ./my-ur-demos`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`dreamscale`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` train`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --dataset`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` my-ur-demos`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --base`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` pi0.5`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`dreamscale`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` train`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` deploy`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` tr_...`})]}),`\n`]})})}),`\n`,_jsx(Heading,{level:`2`,id:`6-run-it`,children:`6. Run it`}),`\n`,_jsx(Warning,{children:_jsx(_components.p,{children:`The arm will move. Clear the workspace and keep the e-stop within reach. Software\nlimits do not prevent collisions, and cloud inference does not replace your robot’s\nsafety configuration.`})}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`dreamscale`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` run`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` ur`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --model`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` your-org/my-ur-demos`})]}),`\n`]})})}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`At `,_jsx(_components.code,{children:`Instruction`}),`, type a task, for example `,_jsx(_components.code,{children:`put the cup on the plate`}),`.`]}),`\n`,_jsxs(_components.li,{children:[`At `,_jsx(_components.code,{children:`Enter to start`}),`, press `,_jsx(_components.strong,{children:`Enter`}),`. The first time, this connects: in Remote control\nthe `,_jsx(_components.code,{children:`dreamscale`}),` program starts by itself; in Local control press `,_jsx(_components.strong,{children:`Play`}),` when asked.`]}),`\n`,_jsxs(_components.li,{children:[`The arm runs the task. Press `,_jsx(_components.strong,{children:`Ctrl+C`}),` to stop; it returns to its home pose if you\nsaved one, and asks for the next instruction.`]}),`\n`]}),`\n`,_jsxs(_components.p,{children:[`Joints move at most 1 rad/s, and slower on arms longer than a UR7e. The arm holds its pose\nafter the command exits; stop the program on the pendant when you’re done.\nStuck? See `,_jsx(_components.a,{href:`/troubleshooting`,children:`Troubleshooting`}),`.`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Universal Robots (experimental)","sidebarTitle":"Universal Robots (experimental)","description":"Experimental: run your own fine-tuned π0.5 deployment on a Universal Robots e-Series or UR Series arm with a Robotiq gripper.","keywords":["Universal Robots","UR","UR5e","UR7e","UR10e","PolyScope X","Robotiq","dreamscale robots ur setup","dreamscale run ur","experimental"],"href":"/robots/ur"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"What you need","slug":"what-you-need","depth":2,"children":[]},{"title":"1. Prepare the pendant","slug":"1-prepare-the-pendant","depth":2,"children":[]},{"title":"2. Install and set up the rig","slug":"2-install-and-set-up-the-rig","depth":2,"children":[]},{"title":"3. Check everything","slug":"3-check-everything","depth":2,"children":[]},{"title":"4. Save a home pose","slug":"4-save-a-home-pose","depth":2,"children":[]},{"title":"5. Record and train","slug":"5-record-and-train","depth":2,"children":[]},{"title":"6. Run it","slug":"6-run-it","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"dreamtimelabs","siteName":"Dreamscale","title":"Universal Robots (experimental) - Dreamscale","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-30T11:09:25.980Z","originalFileLocation":"robots/ur.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Experimental: run your own fine-tuned π0.5 deployment on a Universal Robots e-Series or UR Series arm with a Robotiq gripper.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Dreamscale\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/dreamtimelabs/io_OP27x3Jx9ZGnk/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/dreamtimelabs/io_OP27x3Jx9ZGnk/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/dreamtimelabs/io_OP27x3Jx9ZGnk/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/dreamtimelabs/io_OP27x3Jx9ZGnk/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/dreamtimelabs/io_OP27x3Jx9ZGnk/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/dreamtimelabs/io_OP27x3Jx9ZGnk/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/dreamtimelabs/io_OP27x3Jx9ZGnk/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/dreamtimelabs/io_OP27x3Jx9ZGnk/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/dreamtimelabs/io_OP27x3Jx9ZGnk/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Universal Robots (experimental) - Dreamscale\">\u003cmeta data-mint-head property=\"og:description\" content=\"Experimental: run your own fine-tuned π0.5 deployment on a Universal Robots e-Series or UR Series arm with a Robotiq gripper.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Dreamscale\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.dreamscalelabs.com/robots/ur\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://dreamtimelabs.mintlify.app/_mintlify/api/og/v2?division=Run+on+your+robot\u0026amp;title=Universal+Robots+%28experimental%29\u0026amp;description=Experimental%3A+run+your+own+fine-tuned+%CF%800.5+deployment+on+a+Universal+Robots+e-Series+or+UR+Series+arm+with+a+Robotiq+gripper.\u0026amp;theme=7820ae49e693c80909b17223\u0026amp;signature=cd6846e28ef7a074eaa5ce240dd80b37d03c4c8884b3c791e56b598593c02716\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Universal Robots (experimental) - Dreamscale\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Experimental: run your own fine-tuned π0.5 deployment on a Universal Robots e-Series or UR Series arm with a Robotiq gripper.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://dreamtimelabs.mintlify.app/_mintlify/api/og/v2?division=Run+on+your+robot\u0026amp;title=Universal+Robots+%28experimental%29\u0026amp;description=Experimental%3A+run+your+own+fine-tuned+%CF%800.5+deployment+on+a+Universal+Robots+e-Series+or+UR+Series+arm+with+a+Robotiq+gripper.\u0026amp;theme=7820ae49e693c80909b17223\u0026amp;signature=cd6846e28ef7a074eaa5ce240dd80b37d03c4c8884b3c791e56b598593c02716\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/dreamtimelabs/io_OP27x3Jx9ZGnk/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Dreamscale\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#16181A\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.dreamscalelabs.com/robots/ur\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/robots/ur.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.dreamscalelabs.com/#organization\",\"name\":\"Dreamscale\",\"url\":\"https://docs.dreamscalelabs.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/dreamtimelabs/ql1nAmOIh_SfC8Mi/logo/light.svg?fit=max\u0026auto=format\u0026n=ql1nAmOIh_SfC8Mi\u0026q=85\u0026s=c138f46a7aba75b9300d25a69ea915d7\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.dreamscalelabs.com#website\",\"name\":\"Dreamscale\",\"url\":\"https://docs.dreamscalelabs.com\",\"publisher\":{\"@id\":\"https://docs.dreamscalelabs.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.dreamscalelabs.com/robots/ur#webpage\",\"url\":\"https://docs.dreamscalelabs.com/robots/ur\",\"name\":\"Universal Robots (experimental)\",\"description\":\"Experimental: run your own fine-tuned π0.5 deployment on a Universal Robots e-Series or UR Series arm with a Robotiq gripper.\",\"dateModified\":\"2026-10-30T11:09:25.980Z\",\"isPartOf\":{\"@id\":\"https://docs.dreamscalelabs.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.dreamscalelabs.com/robots/ur#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.dreamscalelabs.com/robots/ur#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Run on your robot\",\"item\":\"https://docs.dreamscalelabs.com/robots/yam\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Universal Robots (experimental)\",\"item\":\"https://docs.dreamscalelabs.com/robots/ur\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.dreamscalelabs.com/robots/ur#article\",\"headline\":\"Universal Robots (experimental)\",\"name\":\"Universal Robots (experimental)\",\"description\":\"Experimental: run your own fine-tuned π0.5 deployment on a Universal Robots e-Series or UR Series arm with a Robotiq gripper.\",\"url\":\"https://docs.dreamscalelabs.com/robots/ur\",\"mainEntityOfPage\":{\"@id\":\"https://docs.dreamscalelabs.com/robots/ur#webpage\"},\"dateModified\":\"2026-10-30T11:09:25.980Z\",\"keywords\":\"Universal Robots, UR, UR5e, UR7e, UR10e, PolyScope X, Robotiq, dreamscale robots ur setup, dreamscale run ur, experimental\",\"publisher\":{\"@id\":\"https://docs.dreamscalelabs.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.dreamscalelabs.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Dreamscale\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Dreamscale","nav":{"global":null,"pages":[{"group":"Get started","pages":[{"title":"Quick start","href":"/index"},{"title":"Models","href":"/models"}]},{"group":"Run on your robot","pages":[{"title":"Bimanual YAM with the CLI","sidebarTitle":"Bimanual YAM","href":"/robots/yam"},{"title":"SO-101 with the CLI","sidebarTitle":"SO-101","href":"/robots/so101"},{"title":"Franka / DROID with the CLI (experimental)","sidebarTitle":"Franka / DROID (experimental)","description":"Experimental: set up a DROID-style Franka arm with its cameras and run a DROID-trained model on it from the CLI.","href":"/robots/franka"},{"title":"Universal Robots (experimental)","sidebarTitle":"Universal Robots (experimental)","href":"/robots/ur"},{"title":"Two xArm 7s (experimental)","sidebarTitle":"Two xArm 7s (experimental)","description":"Experimental: run your own fine-tuned deployment on a pair of UFACTORY xArm 7 arms with xArm Grippers and three cameras.","href":"/robots/xarm7"},{"title":"Python SDK","href":"/python"}]},{"group":"Improve your model","pages":[{"title":"Datasets","href":"/datasets"},{"title":"Training","href":"/training"},{"title":"Deployments","href":"/deployments"}]},{"group":"References","pages":[{"title":"CLI reference","sidebarTitle":"CLI reference","href":"/reference/cli"},{"title":"Python SDK reference","sidebarTitle":"SDK reference","href":"/reference/sdk"}]},{"group":"Help","pages":[{"title":"Troubleshooting","href":"/troubleshooting"}]}]},"basePath":"","title":"Universal Robots (experimental) - Dreamscale","buildId":"dpl_DeHjVRGfFnhYQwHnfC2pjeXXv8h9","deploymentId":"dpl_DeHjVRGfFnhYQwHnfC2pjeXXv8h9","dynamics":[],"chunks":[]}