Experimental: set up a DROID-style Franka arm with its cameras and run a DROID-trained model on it from the CLI.
This page is experimental, and so is Franka support. It has run on one FR3
in our lab. Setup, checks, homing and stopping work there, but no model has yet
completed a task on it reliably. Expect rough edges and changes between
releases. Tell us what you see at
team@dreamscalelabs.com.
A Franka FR3 with a Franka Hand, its joints unlocked and FCI activated in
Desk. A Panda should work but is untested.
A Linux x86_64 computer with a real-time (PREEMPT_RT) kernel, wired to the
arm’s control box. It needs no GPU.
Cameras in the DROID layout: an exterior 1 camera beside the table and a
wrist camera on the hand. A second exterior camera is optional. USB
cameras, ZED cameras (read as USB cameras) and Intel RealSense cameras work.
Put exterior 1 to the side of the table, seeing the arm and the whole workspace,
as in DROID. Mount the wrist camera on the hand so it sees the fingers.
It installs Franka support, checks it can reach the arm, and previews each
camera so you can pick exterior 1, the wrist camera and, if you have one,
exterior 2.
It checks the real-time kernel, the arm’s connection and state, the gripper,
each camera and your access to that model. It never moves the arm. Every line
shows a ✓; a camera on a slow USB link may show a warning instead.
The arm will move. Clear the workspace, keep people and cables
out of reach, and keep the E-stop in your hand. Cloud inference does not
replace your robot’s safety limits.
dreamscale run franka --model molmoact2-droid
At Enter to start, press Enter to connect the arm. It moves slowly to
DROID’s home pose.
At Instruction, type a task, for example pick up the marker.
The arm shows a preview of the first actions. Nothing moves yet.
Press Enter to run. Press Ctrl+C to stop.
The arm returns home and asks for the next instruction. Press Ctrl+C
again to exit.
The arm holds its pose after the command exits, while the robot stays on. Lock
its joints in Desk when you’re done.If the arm stops on a reflex, check why it stopped, then clear the error:
Every run needs one with --model. All are in beta:
molmoact2-droid: MolmoAct2. Reads exterior 1 and the wrist, plus exterior 2
if you set one.
cosmos3-edge-policy-droid and cosmos3-nano-policy-droid: Cosmos 3. Read
all three cameras.
flux-3-action-droid: FLUX 3 Action. Reads all three cameras.
dreamscale models list shows which ones your organization can run right now.
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/franka","slug":"/robots/franka","pageMetadata":{"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.","keywords":["Franka","FR3","Panda","DROID","experimental","dreamscale robots franka setup","dreamscale run franka","FCI"],"href":"/robots/franka"},"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: set up a DROID-style Franka arm with its cameras and run a DROID-trained model on it from the CLI.\"\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:`This page is experimental, and so is Franka support.`}),` It has run on one FR3\nin our lab. Setup, checks, homing and stopping work there, but no model has yet\ncompleted a task on it reliably. Expect rough edges and changes between\nreleases. Tell us what you see at\n`,_jsx(_components.a,{href:`mailto:team@dreamscalelabs.com`,children:`team@dreamscalelabs.com`}),`.`]}),`\n`,_jsx(Heading,{level:`2`,id:`what-you-need`,children:`What you need`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`A Franka FR3 with a Franka Hand, its joints unlocked and FCI activated in\nDesk. A Panda should work but is untested.`}),`\n`,_jsx(_components.li,{children:`A Linux x86_64 computer with a real-time (PREEMPT_RT) kernel, wired to the\narm’s control box. It needs no GPU.`}),`\n`,_jsxs(_components.li,{children:[`Cameras in the DROID layout: an `,_jsx(_components.strong,{children:`exterior 1`}),` camera beside the table and a\n`,_jsx(_components.strong,{children:`wrist`}),` camera on the hand. A second exterior camera is optional. USB\ncameras, ZED cameras (read as USB cameras) and Intel RealSense cameras work.`]}),`\n`,_jsxs(_components.li,{children:[`Access to a DROID model. They are in beta: ask\n`,_jsx(_components.a,{href:`mailto:team@dreamscalelabs.com`,children:`team@dreamscalelabs.com`}),`.`]}),`\n`,_jsxs(_components.li,{children:[`The Dreamscale CLI, signed in. See `,_jsx(_components.a,{href:`/`,children:`Quick start`}),`.`]}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`1-place-the-cameras`,children:`1. Place the cameras`}),`\n`,_jsx(_components.p,{children:`Put exterior 1 to the side of the table, seeing the arm and the whole workspace,\nas in DROID. Mount the wrist camera on the hand so it sees the fingers.`}),`\n`,_jsx(Heading,{level:`2`,id:`2-set-up-the-arm-and-cameras`,children:`2. Set up the arm and cameras`}),`\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:` franka`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` setup`})]}),`\n`]})})}),`\n`,_jsx(_components.p,{children:`It installs Franka support, checks it can reach the arm, and previews each\ncamera so you can pick exterior 1, the wrist camera and, if you have one,\nexterior 2.`}),`\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:` franka`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --model`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` molmoact2-droid`})]}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`It checks the real-time kernel, the arm’s connection and state, the gripper,\neach camera and your access to that model. It never moves the arm. Every line\nshows a `,_jsx(_components.code,{children:`✓`}),`; a camera on a slow USB link may show a warning instead.`]}),`\n`,_jsx(Heading,{level:`2`,id:`4-run-a-model`,children:`4. Run a model`}),`\n`,_jsx(Warning,{children:_jsx(_components.p,{children:`The arm will move. Clear the workspace, keep people and cables\nout of reach, and keep the E-stop in your hand. Cloud inference does not\nreplace your robot’s safety limits.`})}),`\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:` franka`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --model`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` molmoact2-droid`})]}),`\n`]})})}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`At `,_jsx(_components.code,{children:`Enter to start`}),`, press `,_jsx(_components.strong,{children:`Enter`}),` to connect the arm. It moves slowly to\nDROID’s home pose.`]}),`\n`,_jsxs(_components.li,{children:[`At `,_jsx(_components.code,{children:`Instruction`}),`, type a task, for example `,_jsx(_components.code,{children:`pick up the marker`}),`.`]}),`\n`,_jsx(_components.li,{children:`The arm shows a preview of the first actions. Nothing moves yet.`}),`\n`,_jsxs(_components.li,{children:[`Press `,_jsx(_components.strong,{children:`Enter`}),` to run. Press `,_jsx(_components.strong,{children:`Ctrl+C`}),` to stop.`]}),`\n`,_jsxs(_components.li,{children:[`The arm returns home and asks for the next instruction. Press `,_jsx(_components.strong,{children:`Ctrl+C`}),`\nagain to exit.`]}),`\n`]}),`\n`,_jsx(_components.p,{children:`The arm holds its pose after the command exits, while the robot stays on. Lock\nits joints in Desk when you’re done.`}),`\n`,_jsx(_components.p,{children:`If the arm stops on a reflex, check why it stopped, then clear the error:`}),`\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:` franka`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` recover`})]}),`\n`]})})}),`\n`,_jsx(Heading,{level:`2`,id:`models`,children:`Models`}),`\n`,_jsxs(_components.p,{children:[`Every `,_jsx(_components.code,{children:`run`}),` needs one with `,_jsx(_components.code,{children:`--model`}),`. All are in beta:`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`molmoact2-droid`}),`: MolmoAct2. Reads exterior 1 and the wrist, plus exterior 2\nif you set one.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`cosmos3-edge-policy-droid`}),` and `,_jsx(_components.code,{children:`cosmos3-nano-policy-droid`}),`: Cosmos 3. Read\nall three cameras.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`flux-3-action-droid`}),`: FLUX 3 Action. Reads all three cameras.`]}),`\n`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`dreamscale models list`}),` shows which ones your organization can run right now.\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":"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.","keywords":["Franka","FR3","Panda","DROID","experimental","dreamscale robots franka setup","dreamscale run franka","FCI"],"href":"/robots/franka"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"What you need","slug":"what-you-need","depth":2,"children":[]},{"title":"1. Place the cameras","slug":"1-place-the-cameras","depth":2,"children":[]},{"title":"2. Set up the arm and cameras","slug":"2-set-up-the-arm-and-cameras","depth":2,"children":[]},{"title":"3. Check everything","slug":"3-check-everything","depth":2,"children":[]},{"title":"4. Run a model","slug":"4-run-a-model","depth":2,"children":[]},{"title":"Models","slug":"models","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"dreamtimelabs","siteName":"Dreamscale","title":"Franka / DROID with the CLI (experimental) - Dreamscale","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-28T07:00:50.742Z","originalFileLocation":"robots/franka.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: set up a DROID-style Franka arm with its cameras and run a DROID-trained model on it from the CLI.\">\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=\"Franka / DROID with the CLI (experimental) - Dreamscale\">\u003cmeta data-mint-head property=\"og:description\" content=\"Experimental: set up a DROID-style Franka arm with its cameras and run a DROID-trained model on it from the CLI.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Dreamscale\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.dreamscalelabs.com/robots/franka\">\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=Franka+%2F+DROID+with+the+CLI+%28experimental%29\u0026amp;description=Experimental%3A+set+up+a+DROID-style+Franka+arm+with+its+cameras+and+run+a+DROID-trained+model+on+it+from+the+CLI.\u0026amp;theme=7820ae49e693c80909b17223\u0026amp;signature=586cf53d984a23d7ba8bb7e1e1fa562f877f237913391e002ed5389dd8b37cee\">\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=\"Franka / DROID with the CLI (experimental) - Dreamscale\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Experimental: set up a DROID-style Franka arm with its cameras and run a DROID-trained model on it from the CLI.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://dreamtimelabs.mintlify.app/_mintlify/api/og/v2?division=Run+on+your+robot\u0026amp;title=Franka+%2F+DROID+with+the+CLI+%28experimental%29\u0026amp;description=Experimental%3A+set+up+a+DROID-style+Franka+arm+with+its+cameras+and+run+a+DROID-trained+model+on+it+from+the+CLI.\u0026amp;theme=7820ae49e693c80909b17223\u0026amp;signature=586cf53d984a23d7ba8bb7e1e1fa562f877f237913391e002ed5389dd8b37cee\">\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/franka\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/robots/franka.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/franka#webpage\",\"url\":\"https://docs.dreamscalelabs.com/robots/franka\",\"name\":\"Franka / DROID with the CLI (experimental)\",\"description\":\"Experimental: set up a DROID-style Franka arm with its cameras and run a DROID-trained model on it from the CLI.\",\"dateModified\":\"2026-10-28T07:00:50.742Z\",\"isPartOf\":{\"@id\":\"https://docs.dreamscalelabs.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.dreamscalelabs.com/robots/franka#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.dreamscalelabs.com/robots/franka#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Run on your robot\",\"item\":\"https://docs.dreamscalelabs.com/robots/yam\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Franka / DROID with the CLI (experimental)\",\"item\":\"https://docs.dreamscalelabs.com/robots/franka\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.dreamscalelabs.com/robots/franka#article\",\"headline\":\"Franka / DROID with the CLI (experimental)\",\"name\":\"Franka / DROID with the CLI (experimental)\",\"description\":\"Experimental: set up a DROID-style Franka arm with its cameras and run a DROID-trained model on it from the CLI.\",\"url\":\"https://docs.dreamscalelabs.com/robots/franka\",\"mainEntityOfPage\":{\"@id\":\"https://docs.dreamscalelabs.com/robots/franka#webpage\"},\"dateModified\":\"2026-10-28T07:00:50.742Z\",\"keywords\":\"Franka, FR3, Panda, DROID, experimental, dreamscale robots franka setup, dreamscale run franka, FCI\",\"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","description":"Set up an SO-101 arm with two cameras and run a cloud model on it from the CLI.","href":"/robots/so101"},{"title":"Franka / DROID with the CLI (experimental)","sidebarTitle":"Franka / DROID (experimental)","href":"/robots/franka"},{"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.","href":"/robots/ur"},{"title":"Two xArm 7s (experimental)","sidebarTitle":"Two xArm 7s (experimental)","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":"Franka / DROID with the CLI (experimental) - Dreamscale","buildId":"dpl_DeHjVRGfFnhYQwHnfC2pjeXXv8h9","deploymentId":"dpl_DeHjVRGfFnhYQwHnfC2pjeXXv8h9","dynamics":[],"chunks":[]}