Skip to main content

SuperBot

SuperBot is a modern, modular robotics framework designed for controlling dual-arm piper robots and other robotic systems. It provides a clean, intuitive API for robot control, sensor integration, and utility functions.

Features

  • Modular architecture with separate modules for bots, sensors, and utilities
  • Dual-arm piper robot control interface
  • Sensor management system
  • Utility functions for robotics operations
  • Clean, well-documented API

Installation

pip install superbot
# Touch + Wuji dexterous hands (Canonical-70 embodiment):
pip install -e ".[wuji]"

DualTouch + Wuji (Canonical-70)

Unified embodiment for bimanual Touch arms + Wuji hands. Policy I/O uses the Canonical-70 layout (same as N3 dataset /lumos-vePFS/suda/Hopper/dataset/id_101_0825_canonical70_gr00t/meta/modality.json).

from superbot.bots.dual_touch_wuji import DualTouchWujiRobot

robot = DualTouchWujiRobot(can_interfaces=("can1", "can0"), enable_hands=True)
state70 = robot.get_state70()          # (70,) ABS EEF rot6d + Can22 hands
robot.execute_action70(action70)       # absolute 70-D command
robot.smooth_go_home()
robot.close()

Helpers live on superbot.utils.canonical70.C70 (pack_state70, action70_to_target, legacy_actions52_to_action70, …). Hand driver is wujihandpy only (superbot.bots.wuji_hand_replay.WujiHandReplayController).

Full Wuji feature map and data-conversion CLI: docs/features_wuji.md.

Dataset conversion (Dexora 39→70, XR→70): pip install -e ".[conversion]" then python -m superbot.conversion.convert_lerobot_to_canonical70 / python -m superbot.conversion.xr_to_lerobot_canonical70.

OpenCV 摄像头预览(Linux)

如果你只想快速查看 USB 摄像头画面,可以直接使用仓库里的 see_umi.py。

1) 安装依赖

pip install opencv-python

2) 查看可用摄像头编号

python find_opencv.py

输出会显示可用摄像头编号(如 0、1、2)。

3) 启动预览

默认打开 source=0:

python see_umi.py

指定摄像头编号:

python see_umi.py --source 1

推荐参数(兼容性较好):

python see_umi.py --source 0 --format MJPG --backend v4l2 --width 640 --height 480 --fps 30

退出:按 q 或 Esc。

4) 常用参数

  • --source:摄像头设备号(默认 0)
  • --format:像素格式,支持 AUTO / MJPG / YUYV
  • --backend:采集后端,支持 v4l2 / auto
  • --width --height:目标分辨率
  • --fps:目标帧率

5) 画面异常排查

当出现花屏、偏色、卡顿时,通常是像素格式或分辨率不匹配:

  1. 优先尝试 MJPG:

    python see_umi.py --source 0 --format MJPG --backend v4l2 --width 640 --height 480
    
  2. 若仍异常,改为 YUYV:

    python see_umi.py --source 0 --format YUYV --backend v4l2 --width 640 --height 480
    
  3. 观察程序启动时打印的实际参数(format/size/fps),确认驱动是否应用了你的设置。

Quick Start

from superbot import RobotWrapper

# Initialize the robot wrapper with CAN interfaces
robot = RobotWrapper(can_interfaces=("can_left", "can_right"))

# Move to a specific pose
import numpy as np
target_pose = np.eye(4)  # 4x4 identity matrix as example
robot.move_to_pose(left_target=target_pose, right_target=target_pose)

# Close the grippers halfway
robot.set_gripper(0.5, 0.5)

# Get current robot state
state = robot.get_current_state()
print(state)

Architecture

SuperBot follows a modular design:

  • bots: Contains robot-specific implementations (dual_piper, etc.)
  • sensors: Sensor management and interfaces
  • utils: Common utility functions for robotics operations
  • transport: Zero-copy instant VLA data transportation lib powered by memap && zeromq, fastest solution to sending data to poliy server.

Zero Transport

zero transport uses zmq and mmap for zero-copy data sharing, unlike most VLA policy server using http sending msgpack or binary, we are currently support data types contains:

  • array;
  • string (scalars);

Remote policy servers also expose a quick connectivity check by default:

curl http://<server-host>:8080/echo
# hello world, superbot

Contributing

Contributions are welcome! Please see the contributing guidelines for details.

报错记录

load extensions from /home/lumos7/miniconda3/envs/startouch/lib/python3.10/site-packages/extensions 2026-03-23 19:14:56.429 | ERROR | superbot.bots.dual_touch:_import_single_arm_right:107 - 无法导入 SingleArm,请确认 /home/lumos7/startouch-v1/interface_py 下存在 startouchclass.py: libstartouch.so: cannot open shared object file: No such file or directory client.sh: 行 12: --instruction: 未找到命令

修复:

编辑库配置文件

sudo nano /etc/ld.so.conf.d/startouch.conf

在文件中添加一行库文件所在的目录路径(替换成你实际的路径)

/home/lumos7/startouch-v1/lib

保存退出(按 Ctrl+O 回车,再按 Ctrl+X)

更新系统库缓存

sudo ldconfig

验证(能看到 libstartouch.so 即可)

ldconfig -p | grep startouch

Metadata

Release files for superbot2 0.1.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for superbot2 0.1.4
File Size Uploaded Provenance
superbot2-0.1.4.tar.gz 7.5 MB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for superbot2 0.1.4
File Interpreter ABI Platform
superbot2-0.1.4-py3-none-any.whl Python 3 none any Details

Total release size: 15.0 MB

Release files / superbot2-0.1.4.tar.gz

Download URL superbot2-0.1.4.tar.gz
Size 7.5 MB
Tags Source
SHA-256 checksum
How to use checksums
ee55cf4a94da9c8e2c1c0eb3db06d95015550077ad50e95d8c31c83b47b2c37c
BLAKE2b-256 checksum
How to use checksums
02921de22172ba66cb2e7b509f3b5ff4e3cd901f74fe9734a3ab935f358b43f0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.12

Release files / superbot2-0.1.4-py3-none-any.whl

Download URL superbot2-0.1.4-py3-none-any.whl
Size 7.5 MB
Tags Python 3
SHA-256 checksum
How to use checksums
7b6c6697f2b63b6397b692c931df7ae719dc3e7fb1fb618b2e0d3c1ab97b4feb
BLAKE2b-256 checksum
How to use checksums
c3f706f38870f5b6957982258c6dcd7d2a66a64a385abe6f224bca2bde3ac04f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.12

Security for superbot2 0.1.4

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page