HumansXドキュメントセンター 公式サイトへ ↗

通信ポートの設定

ロボットアームのキャリブレーションについて、キャリブレーションファイルが消えてしまい再キャリブレーションが必要になることがあります。ここでは 3 つのつまずきやすい点があります。 1 つ目は permission issue と表示される場合で、前述のチップ識別番号の問題です。sudo chmod で解決できます。

2 つ目は there is no tx packet と表示される場合で、ロボットアームに電源が入っているか、すべてのサーボのランプが点灯しているかを確認してください。

3 つ目は no integer between xxxfloat (2.xxxxx, 2.xxxxx) と表示される場合で、リーダーアームのグリッパーが開きすぎていることを示します。リーダーアームのグリップ操作にストッパー(リミット)を追加してください。

1. 設定ファイル内のロボットアームのポートを変更する

ファイルの場所は以下のとおりです:

lerobot/lerobot/common/robot_devices/robots/configs.py

以下の内容を探します。microエディタではCtrl-FでSO101を直接検索できます。

@RobotConfig.register_subclass("so101")
@dataclass
class So101RobotConfig(ManipulatorRobotConfig):
    calibration_dir: str = ".cache/calibration/so101"
max_relative_target: int | None = None

leader_arms: dict[str, MotorsBusConfig] = field(
    default_factory=lambda: {
        "main": FeetechMotorsBusConfig(
            port="/dev/ttyACM0",  <-- 在这里更新
        motors={
    "shoulder_pan": [1, "sts3215"],
    "shoulder_lift": [2, "sts3215"],
    "elbow_flex": [3, "sts3215"],
    "wrist_flex": [4, "sts3215"],
    "wrist_roll": [5, "sts3215"],
    "gripper": [6, "sts3215"],
}

その下にフォロワーアームの設定もあります。同様に変更してください。

2. 設定ファイル内のカメラのポートを変更する

上記のファイルをさらに下にスクロールすると、カメラのポート設定があります。現在、2 台のカメラはそれぞれ 0 と 2 です。

2.1 カメラ確認コマンド

ffplay -f v4l2 -framerate 30 -video_size 640x480 -input_format mjpeg /dev/video0

2 台のカメラはそれぞれ video0 と video2 です。対応するカメラの映像を確認するには、上記コマンドのポート番号を変更するだけです。

2.2 UVC モジュールをリセットして互換性を高め、USB 帯域幅を確保する

sudo modprobe -r uvcvideo
sudo modprobe uvcvideo quirks=128

RDK は rerun GUI に対応していないため、bash から直接 2 台のカメラを呼び出し、データ収集時に同時に実行します。