A skill is plain Python that drives your robot through GRID’s APIs. You
develop it against a live robot in a generated notebook — no environment
setup, because the CLI provisions the Python environment for you.
1. Open a dev session
Start the GRID shell from your project folder, then run:
Choose an online robot. The CLI opens a VS Code workspace in the current
folder with dev.ipynb and the Python environment configured. Run the notebook’s
connection cell, then write your code. You can also create Python files or
additional notebooks in the editor; no existing script is needed to get started.
To open a different project folder:
The folder must already exist. You can also pass an existing file to open its
containing folder. Direct execution and deployment still take a Python file:
skill run my_skill.py or skill run my_skill.py --deploy. Each run asks you
to choose an online robot in the GRID shell. To target a robot explicitly, add
--robot <robot>; headless commands require this flag.
The notebook connects using the robot you selected, for example:
2. Find out what your robot can do
connect() returns a RemoteRobot.
Its attributes are the robot’s own methods, discovered live when you connect —
so the fastest way to see the surface is to ask it:
Those methods come from the Robot interface,
which is the same whether the robot is physical or simulated. A quadruped gets
Quadruped, an arm gets
Arm, and every robot gets the shared
Robot methods like getState() and
getImage().
3. Drive it
State, motion, and camera all work directly from notebook cells:
Motion cells move the robot physically. Make sure it has clearance, and run
robot.shutdown() when you’re done — it releases the session cleanly.
Sensors, arms, and end effectors nest as attributes, so you can reach into a
subcomponent the same way:
4. Add perception
Anything you capture can go straight to a hosted Cortex model. This finds a
water bottle in the robot’s camera frame:
From there it’s ordinary Python — loop over frames, check a score threshold,
and command the robot when you see what you’re looking for:
Where next