オープンソース低コストAIロボットアームOpenK。10万円台で作ることが可能です。
板金不要。ボディ部分はすべて3Dプリンタで作成可能。URDF完備
DAMIAOモーターを使用し、lerobotコードベースで動作します。
ローカル .venv と uv で開発・実行します。
トイレ清掃ロボットCleanKを開発する過程で生まれた汎用アームです。
IMG_1750.mov
lerobotのデータセット形式に準拠しているためSO-ARM101と同じく可視化が可能 https://huggingface.co/spaces/lerobot/visualize_dataset?path=%2FHodaka0706%2Fcleank_test_dataset_cam%2Fepisode_0
CUT_DatasetExampleRecording.2026-02-16.111820.1.1.mp4
アクチュエーター構成: ・肩×2:DM-J6006 ・上腕・肘・前腕:DM-J4310 ・手首・グリッパー:STS3215 ・リーダーアーム:全軸STS3215
- @sabamiso-rrsc ほぼすべてのハードウェア、組み込み開発、DAMIAOイニシャライズ ソフトウェア
- @UedaKenji lerobotコード統合。メインソフトウェア開発
- @shunyatadano URDF及びシミュレーション
- @shinshin0706, @Ryosuke520, @deBroglieeeen 現場レベルのインテグレーション及びハードウェア、ソフトウェアの調整、シミュレーション開発
-
前提: Python 3.10 / uv
-
初回:
git clone <repo-url> lerobot_OpenK cd lerobot_OpenK uv venv .venv --python 3.10 source .venv/bin/activate uv pip install -e .
-
以降の作業時は
source .venv/bin/activateのみで OK。
-
通常(ハードウェア不要):
UV_CACHE_DIR=.uv_cache uv run pytest
-
実機接続の HIL テスト(オプション):
OPENK_HIL=1 \ OPENK_FOLLOWER_PORT=/dev/ttyUSB0 \ OPENK_LEADER_PORT=/dev/ttyUSB1 \ UV_CACHE_DIR=.uv_cache uv run pytest test/test_openk_hil.py -q
※カメラは無効化し、接続→1回観測/アクション取得のみ。
-
ポートが不明な場合は先にポート探索:
uv run lerobot-find-port
で
ttyUSB*などを確認してから下記を実行。 -
テレオペ:
uv run openk-teleoperate \ --robot.type=openk-1-alpha_follower --robot.port=<follower-port> --robot.id=follower \ --teleop.type=openk_leader --teleop.port=<leader-port> --teleop.id=leader \ --log_file=logs/openk_teleoperate.log
- Ctrl + C で停止
-
記録:
uv run openk-record \ --robot.type=openk-1-alpha_follower --robot.port=<follower-port> --robot.id=follower \ --teleop.type=openk_leader --teleop.port=<leader-port> --teleop.id=leader \ --dataset.repo_id=<user>/<dataset> --dataset.num_episodes=2 --dataset.single_task="Describe task" \ --log_file=logs/openk_record.log
-
リプレイ:
uv run lerobot-replay \ --robot.type=openk-1-alpha_follower --robot.port=<follower-port> --robot.id=follower \ --dataset.repo_id=<user>/<dataset> --dataset.episode=0
-
キャリブレーション:
uv run lerobot-calibrate --teleop.type=openk_leader --teleop.port=<leader-port> --teleop.id=leader
-
その他ユーティリティ:
lerobot-find-port,lerobot-find-cameras,lerobot-info。
-
例の YAML を同梱:
configs/teleop_example.yamlconfigs/record_example.yaml
-
実行例:
uv run openk-teleoperate --config_path=config/teleop_example.yaml uv run openk-record --config_path=config/record_example.yaml
-
YAML に書いたキーはそのまま適用、書かないキーはデフォルトのまま(
camerasを残したい場合はキー自体を書かない)。
- テレオペ/記録はデフォルトで
logs/openk_teleoperate.log/logs/openk_record.logに出力(親ディレクトリは自動生成)。--log_fileで上書き可能。
pyproject.tomlのlerobot依存はローカル../lerobotを editable 参照しています。パスが異なる場合は適宜修正してください。
- LeRobot by HuggingFace, Inc.
- SO-100 by TheRobotStudio
- 洛星ロボット研究部の皆様 https://robot.rakusei.net/
- OpenArm by Enactic, inc.
- ロボ⭐︎スタディオン及び会員の皆様
- DMM.make TIB FAB