Nfrax Docs logoNfrax Docs

Infrastructure that just works. Ship products, not boilerplate.

Frameworks

  • svc-infra
  • ai-infra
  • fin-infra
  • robo-infra

Resources

  • Getting Started
  • What's New
  • Contributing

Community

  • GitHub

© 2026 nfrax. All rights reserved.

Nfrax Docs logoNfrax Docs
Start HereWhat's New
GitHub
robo-infra / API Reference

JointGroup

from robo_infra.controllers import JointGroup
View source
robo_infra.controllers
Extends:Controller

Controller for coordinating multiple joints as a robot arm. JointGroup provides high-level control for multi-joint robots like robot arms, pan-tilt mechanisms, and articulated systems. Features: - Synchronized multi-joint movement - Motion interpolation for smooth trajectories - Named position presets - Home/stop/disable functionality - Async movement support

Example

>>> joints = { ... "base": Servo(name="base", angle_range=(0, 180)), ... "shoulder": Servo(name="shoulder", angle_range=(0, 180)), ... "elbow": Servo(name="elbow", angle_range=(0, 180)), ... } >>> arm = JointGroup(name="arm", joints=joints) >>> arm.enable() >>> arm.move_to({"base": 90, "shoulder": 45, "elbow": 120})

Constructor
JointGroup(name: str, joints: dict[str, Actuator], config: JointGroupConfig | None = None) -> None
ParameterTypeDefaultDescription
namerequiredstr—Controller name
jointsrequireddict[str, Actuator]—Dictionary of joint name to Actuator
configJointGroupConfig |NoneNoneOptional configuration

Methods

On This Page

Constructorago_to_namedamove_jointsdisableenableget_joint_positionget_named_positionsget_positionsgo_to_namedhomemove_jointssave_positionstop