Nora is an open vision-language-action model trained on robot manipulation episodes from the
Open X-Embodiment dataset. The model takes language instructions and camera images as input and generates robot actions. Nora is trained directly from Qwen 2.5 VL-3B.
All Nora checkpoints, as well as our
training codebase are released under an MIT License.
Nora take a language instruction and a camera image of a robot workspace as input, and predict (normalized) robot actions consisting of 7-DoF end-effector deltas of the form (x, y, z, roll, pitch, yaw, gripper).
To execute on an actual robot platform, actions need to be un-normalized subject to statistics computed on a per-robot, per-dataset basis.
To get started with loading and running Nora for inference, we provide a lightweight interface that with minimal dependencies.
1git clone https://github.com/declare-lab/nora
2cd inference
3pip install -r requirements.txt
For example, to load Nora for zero-shot instruction following in the BridgeData V2 environments with a WidowX robot:
1
2# Load VLA
3from inference.nora import Nora
4nora = Nora(device='cuda')
5
6# Get Inputs
7image: Image.Image = camera(...)
8instruction: str = <INSTRUCTION>
9# Predict Action (7-DoF; un-normalize for BridgeData V2)
10actions = nora.inference(
11 image=image, # Dummy image
12 instruction=instruction,
13 unnorm_key='bridge_orig' # Optional, specify if needed
14)
15# Execute...
16robot.act(action, ...)