1. Open a dev session
2. Explore, then act
See every method your robot exposes:3. Save it as a skill
When the notebook logic works, turn it into a program: a function decorated with@program() that takes the robot (and a Cortex client, if it
calls models) plus your own parameters. while tick(hz=...) is the control
loop — the body runs at that rate, decisions live in small @func helpers,
and the program ends by breaking on a condition. This skill spins in place
until the camera sees the prompt, then stops:
Cortex object a program receives is the same hosted-models client
as CortexClient from the
intro — just the form programs take as a parameter, so the platform can
supply it at deploy time.
connect(robot_id, program=find_object) opens the connection in
deployment mode — the platform stages your program, streams its camera
and state topics, and shows the run live in the session monitor. (A bare
connect(robot_id) is the direct mode you used in the notebook; deployments
always pass program=.) The deploy runner supplies GRID_ROBOT_ID and your
Cortex API key through the environment.
4. Deploy it
- provisions the workflow Python environment (GRID’s client packages install
from a private index with credentials fetched from your cluster — don’t
pip installthem by hand), - prompts for your script’s arguments,
- exports
GRID_ROBOT_IDand your Cortex API key, then runs the script against the robot you selected, streaming logs live. Press Esc to cancel a run.
Where next
- The full Cortex model catalog for perception in your skills: AI models
- Calling models from Python: grid-cortex-client
- Every shell command: CLI reference