BrainCo Revo 1#
embodichain_robots.BrainCoRevo1Cfg configures a standalone left or right
BrainCo Revo 1 hand. The catalog ID is BrainCoRevo1; left and right
variants select the native hand asset, with right as the default.
The illustrations use the archive’s visual geometry and authored materials, a presentation root rotation and native OfflineRT without stepping physics. They show a zero-coordinate display pose, not a calibrated grasp. See EEF rendering conventions.
Construct, discover and preview#
Given an existing SimulationManager instance named sim:
from embodichain.robot_registry import resolve_robot_cfg
from embodichain_robots import BrainCoRevo1Cfg
cfg = resolve_robot_cfg("BrainCoRevo1", variant="left")
# Equivalent native side selection:
cfg = BrainCoRevo1Cfg.from_dict({"side": "left"})
restored = BrainCoRevo1Cfg.from_dict(cfg.to_dict())
robot = sim.add_robot(cfg=restored)
embodichain list-robot
embodichain preview-robot --robot BrainCoRevo1 --variant left --viser
embodichain preview-robot --robot BrainCoRevo1 --variant right --viser
embodichain preview-robot --robot BrainCoRevo1 --headless --device cpu --renderer no-render --physics default --max-steps 100
Only left and right are supported sides. from_dict() builds defaults before
applying isolated caller overrides. A local fpath can select an existing URDF
without downloading the bundled archive. The single fixed-base articulation
preserves the native joint and link identifiers.
Control contract#
Group |
Independent source joints |
Units |
|---|---|---|
|
|
radians |
Four additional index/middle/ring/pinky PIP joints retain the source mimic relations, including their nonzero offsets. They do not add command dimensions. The six active joints start at zero. Followers retain their source coupling; commands and resets use the existing articulation runtime. Send six-dimensional targets using the named control group; preserve its documented order.
import torch
q = robot.get_qpos(name="eef").clone()
q += torch.tensor([[0.05] * 6], device=robot.device)
robot.set_qpos(q, name="eef")
The default solver_cfg is empty and build_pk_serial_chain() returns {}.
No single tool TCP, finger IK, grasp command or retargeting service is implied
by the eef name. The branched hand is not represented as one serial chain.
The catalog advertises zero arms and no generic dual-arm base compatibility.
Physical defaults#
The default root position is (0, 0, 0.3) metres. This presentation height
keeps the standalone source geometry clear of the global ground; it is not a
calibrated mounting transform. Source position limits, mass and inertia are
preserved. Because the bundled
URDF declares zero effort and velocity limits, the standalone simulation preset
sets active-joint stiffness to 100, damping to 10, maximum effort to 1000 and
maximum velocity to 1 rad/s. These are initial simulation values, not verified
motor specifications or hardware calibration. The default native solver uses
64 position iterations and 16 velocity iterations for the mimic constraints;
these iteration counts apply to the Default backend. Caller overrides can
replace these simulation settings.
Provenance#
The BrainCo product documentation confirms product affiliation. The exact packaged CAD release, original author, upstream revision and asset license remain unverified. See the archive-specific source record for the download digest, inspection evidence and pending questions.