通信ポートの設定
ロボットアームのキャリブレーションについて、キャリブレーションファイルが消えてしまい再キャリブレーションが必要になることがあります。ここでは 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 台のカメラを呼び出し、データ収集時に同時に実行します。
ドキュメント