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) 画面异常排查
当出现花屏、偏色、卡顿时,通常是像素格式或分辨率不匹配:
-
优先尝试
MJPG:python see_umi.py --source 0 --format MJPG --backend v4l2 --width 640 --height 480
-
若仍异常,改为
YUYV:python see_umi.py --source 0 --format YUYV --backend v4l2 --width 640 --height 480
-
观察程序启动时打印的实际参数(
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)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| superbot2-0.1.4.tar.gz | 7.5 MB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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.