Skip to content

CleanKDev/OpenK

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

日本語 | English | 中文

OpenK on lerobot

オープンソース低コストAIロボットアームOpenK。10万円台で作ることが可能です。 板金不要。ボディ部分はすべて3Dプリンタで作成可能。URDF完備 DAMIAOモーターを使用し、lerobotコードベースで動作します。 ローカル .venvuv で開発・実行します。 トイレ清掃ロボットCleanKを開発する過程で生まれた汎用アームです。

DEMO

テレオペレーション

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

CAD

Follower

image

Leader

image

Actuators

アクチュエーター構成: ・肩×2:DM-J6006 ・上腕・肘・前腕:DM-J4310 ・手首・グリッパー:STS3215 ・リーダーアーム:全軸STS3215

Core Members

  • @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.yaml
    • configs/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.tomllerobot 依存はローカル ../lerobot を editable 参照しています。パスが異なる場合は適宜修正してください。

謝辞

  • LeRobot by HuggingFace, Inc.
  • SO-100 by TheRobotStudio
  • 洛星ロボット研究部の皆様 https://robot.rakusei.net/
  • OpenArm by Enactic, inc.
  • ロボ⭐︎スタディオン及び会員の皆様
  • DMM.make TIB FAB

About

Another Opensource Develop Arm in lerobot codebase

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages