Skip to content

Conversation

@k-okada
Copy link
Member

@k-okada k-okada commented Oct 15, 2025

@nalinally 小濵
@fugonfugon 杉浦
@mochimochi510 元持
@Ginkgo310 森住

sshをつかったGITの接続(SSHを登録する)
https://qiita.com/shizuma/items/2b2f873a0034839e47ce

workspaceの作り方

mkdir -p ~/ws_semi/src
cd ~/ws_semi/src
git clone --filter=blob:none --sparse https://github.com/jsk-ros-pkg/jsk_demos.git -b jsk_2025_10_semi
cd jsk_demos
git sparse-checkout set jsk_2025_10_semi
cd ~/ws_semi
source /opt/ros/one/setup.bash
catkin b
source ~/ws_semi/devel/setup.bash
roscd jsk_2025_10_semi
rosdep install --from-path . --ignore-src -r -y

ロボットの動かし方。
#1402 (comment)

emacs の上で M-x shell してシェルを動かすか‘rlwrap roseus` として立ち上げるとヒストリが使える

@k-okada
Copy link
Member Author

k-okada commented Oct 15, 2025

@k-okada
Copy link
Member Author

k-okada commented Oct 29, 2025

https://xlerobot.readthedocs.io/en/latest/software/index.html
(Install LeRobot 🤗 and Move XLeRobot files)

https://xlerobot.readthedocs.io/en/latest/software/getting_started/install.html
(To install LeRobot, follow the official Installation Guide)

https://huggingface.co/docs/lerobot/installation
https://huggingface.co/docs/lerobot/installation#installation-from-pypi

ワークスペースの作成

cd ~/
virtualenv venv_lerobot
cd venv_lerobot/
source bin/activate

ソースコードのダウンロード

cd ~/venv_lerobot/
git clone https://github.com/Vector-Wangel/XLeRobot
git clone https://github.com/huggingface/lerobot.git

ソースコードのインストール

cd venv_lerobot/lerobot
pip install -e .
pip install -e ".[feetech]" # or "[dynamixel]" for example

Move XLeRobot files を行う
https://xlerobot.readthedocs.io/en/latest/software/getting_started/install.html#move-xlerobot-files

cd ~/venv_lerobot/lerobot/src/lerobot/model
cp ~/venv_lerobot/XLeRobot/software/src/model/SO101Robot.py .
cd ~/venv_lerobot/lerobot/src/lerobot/robots
cp -r ~/venv_lerobot/XLeRobot/software/src/robots/xlerobot* ./
cd ~/venv_lerobot/lerobot/examples
cp ~/venv_lerobot/XLeRobot/software/examples/* .

サームが接続されているUSBのポートを確認する
https://huggingface.co/docs/lerobot/so101#1-find-the-usb-ports-associated-with-each-arm

lerobot/examplesを使うには,X11でログインする
https://engrmemo.jp/linux/ubuntu-window-system/

サンプルを動かす!
https://xlerobot.readthedocs.io/en/latest/software/getting_started/SO101.html

…d and you have to modify urdf file as follows

-        <mesh filename="meshes/raskogbody.stl" scale="0.0009 0.001 0.0009" />
+        <mesh filename="file:///home/mech-user/venv_lerobot/XLeRobot/simulation/Maniskill/assets/xlerobot/meshes/raskogbody.stl" scale="0.0009 0.001 0.0009" />
@mochimochi510
Copy link

venv_lerobot/lerobot/examples/4_xlerobot_teleop_keyboard.py を動かすときのエラー解決方法:
Vector-Wangel/XLeRobot@d32f6b6

@k-okada
Copy link
Member Author

k-okada commented Nov 5, 2025

azureのVMを作る

Standard NC4as T4 v3 (4 vcpu 数、28 GiB メモリ)

を使った.このあと
https://learn.microsoft.com/ja-jp/azure/virtual-machines/linux/n-series-driver-setup
で環境設定した.

@k-okada
Copy link
Member Author

k-okada commented Nov 5, 2025

azureuser としてすること

sudo adduser k-okada # ユーザを作る
su k-okada # k-okada としてログインし直す

k-okada ユーザとしてすること

mkdir ~/.ssh # ssh ディレクトリを作る
cp /tmp/authorized_keys ~/.ssh # キーをなんとか頑張ってコピーする(azureuserで ~/.ssh/autorhoized_keysを/tmp以下にコピーして chmod a+rw /tmp/authoriazed_keys などをする必要がある)
chmod 600 ~/.ssh/authorized_keys # permission を厳しくする

自分のPCからログインする

sh -i k-okada-2025-semi_key.pem [email protected]

@Ginkgo310
Copy link

今日やったこと

  • これからやることを決定
    • LLMにわたすための手先を動かすモーションを作る
      • 一回robocrewのikで実装する
      • 手先を上下左右前後に動かす
    • 手先も動かせるようにした状態で,geminiでロボットを動かす
  • 困ったこと
    • 左手首のサーボモーターが焼け死んだ
      • 左腕はこの日は誰も動かしていないので,壊れた理由は不明
      • 長谷川先生にお手伝いいただき,腕ごと交換した
    • 腕を動かすコードがうまく動かない
      • コードを再度確認

@mqcmd196
Copy link
Member

@mochimochi510

大日方TODO: 次回Questの使い方(操作方法) を教える

@nalinally
Copy link

  • 今日やったこと
  • 来週以降やること
    • 1章1.2以降(カメラの位置合わせ)をやる
    • 座標を合わせた上で学習する
    • 実際にロボットを動かす
  • こまっていること
    • 2章の最後の方にある、学習の進捗状況を示すグラフを見たかったのですが、どうすればいいのかわからなかったです
    • 学習の成果がどのような形式で出力されて、それをどのように利用できるのかの流れがまだわかっていないです(来週3章以降を読んで理解することになりそう)

@mochimochi510
Copy link

今日やったこと

  • 既存のデータセット(https://huggingface.co/datasets/YiyangHuang/bowls)を使用してサーバー上で学習が進むことを確認した

    • 実行したコマンド:
    lerobot-train \
    --dataset.repo_id=YiyangHuang/table \
    --dataset.revision=main \
    --policy.type=act \
    --output_dir=outputs/train/test_train_so101 \
    --job_name=lerobot_training \
    --policy.device=cuda \
    --policy.repo_id=mochimochi510/test_train_so101
    
    • 注意点
      • --dataset.revision=mainを指定しないとRevisionNotFoundErrorが出る
      •  ffmpegがないと動かなかったのでダウンロードした
  • 学習したモデルをデプロイする方法を調べた

来週以降やること

  • デプロイがうまくいくか検証する
  • 学習を最後まで回す
  • Questの使用方法を教わり、データ取りの方法を調べる&実際にデータを取得する

困っていること

  • デプロイを行う際にデータ取得に使われているものと同じオブジェクトがないとうまくいかない?
  • まだデプロイの確認ができていないので、この方法で学習したモデルがうまく使えるか不明

@fugonfugon
Copy link

fugonfugon commented Nov 12, 2025

  • 今日やったこと
    • exampleの3のコードを修正して、bottleをトラッキングできるようにしたい
  • 困ったこと
    • なぜかbottleと反対にアームが動いてしまう
      • deg_pan += ~となっているところをdeg_pan -=のようにしても変わらなかった。もしかしたらコードが根本的に悪いかもしれない?
      • 画像処理が重いので遅れて反映されているのかもしれない。(つまりコード上は正しい)
      • bottleの中心がカメラの真ん中に来るように調整しているのだが、opencv上の描画とサイズとか座標がちゃんと対応していないのかもしれない??
  • 来週やること
    • 上記の修正
    • それが終わったらbottleを掴めるようなコードも別で用意しているので試す
    • 逆にそれ以外にやることを募集したいor別で増やしたい野望

3_fugo_01_so100_yolo_ee_control.py

@mqcmd196
Copy link
Member

@soonhyo
来週のゼミでもし僕がいなかったらQuestの使い方を教えてあげてください

@Ginkgo310
Copy link

今日やったこと

  • ロボットアームのオフセットの仕様の発見
  • 手先座標を指定し,そこに追従させるコードの実装と動作確認
    来週やること
  • 「腕を上下左右に動かす」といった動きをする,LLMAgentに渡すための関数を完成させる.
  • LLMで腕のみを動かす
    困っていること
  • なし

@mochimochi510
Copy link

  • 今日やったこと
    • 学習を20000ステップまで回した
    • 新しいサーバーに前のサーバーでの学習データを移行した
    • Questのアカウントを作成し、使用方法を教わった
  • 来週以降やること
    • 新しいサーバーの環境設定
       - 学習の続き
       - デプロイができるか検証する
  • 困っていること
    • サーバーの環境設定の方法がまだあまりよくわかっていないです

@Michi-Tsubaki
Copy link

@mochimochi510

サーバーの環境設定の方法がまだあまりよくわかっていないです
環境設定完了しました.

Wed Nov 19 08:29:04 2025                                                                                                      
+-----------------------------------------------------------------------------------------+                                   
| NVIDIA-SMI 580.95.05              Driver Version: 580.95.05      CUDA Version: 13.0     |                                   
+-----------------------------------------+------------------------+----------------------+                                   
| GPU  Name                 Persistence-M | Bus-Id          Disp.A | Volatile Uncorr. ECC |                                   
| Fan  Temp   Perf          Pwr:Usage/Cap |           Memory-Usage | GPU-Util  Compute M. |                                   
|                                         |                        |               MIG M. |                                   
|=========================================+========================+======================|                                   
|   0  NVIDIA A100 80GB PCIe          Off |   00000001:00:00.0 Off |                    0 |                                   
| N/A   32C    P0             44W /  300W |       0MiB /  81920MiB |      0%      Default |                                   
|                                         |                        |             Disabled |                                   
+-----------------------------------------+------------------------+----------------------+      

tmuxは,学習回す用途だと,
https://qiita.com/KoyanagiHitoshi/items/318d4b8ef3b4e5b87390 の②〜⑤くらい使えると良いと思います。わからなければ聞いてください。

@Michi-Tsubaki
Copy link

Michi-Tsubaki commented Nov 19, 2025

@nalinally
wandbについて説明しておいて,ということだったのに説明し忘れました。

学習環境(azure)で,

pip install wandb

すると,学習環境で,wandbがインストールされます。

インストール出来たら,

wandb login

というコマンドを打つと,api keyをterminalに入力するように求められます。

ネットで, https://wandb.ai/authorize を開くと,自分のwandbのアカウントのapi key(下の赤いところ)が表示されるので,コピーアイコンを押してコピーして,ターミナルにペーストしましょう!
wandb

wandbのアカウントがまだない場合は,まず https://wandb.ai/site/ja/ でサインアップ(アカウント作る)をしましょう。githubログイン(連携)ができて,そうするとgithubと同じアイコンになったりして楽です。そのあとで,https://wandb.ai/authorize でapi keyを確認します。

そのあとは,自分のコードにwandb.initとかwandb.logとかwandb.saveとかwandb.finishとかが書いてあれば,スクリプトの実行を始めた後,自分のwandbのダッシュボードで以下のような画面が出ます,wandbの「projects」のところから探せます。project名はコードの中のwandb.init( xxx )で決まります。
image

これで成功。

使い方は,例えば,以下のコードの場合は学習の繰り返しの中にwandb.logがあって,そこで

https://gist.github.com/Michi-Tsubaki/0f1860d710a829ac26b89a63496402f7#file-train_act-py-L185-L190
"loss": loss.item(),
"grad_norm": grad_norm.item(),
とか書いてあるので,これらが1イテレーションごとにリアルタイムでダッシュボードに反映されます。

わからなければ聞いてください。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants