diff --git a/sites/en/static/js/language-switcher.js b/sites/en/static/js/language-switcher.js index b783329ebf0e5..3736565d333be 100644 --- a/sites/en/static/js/language-switcher.js +++ b/sites/en/static/js/language-switcher.js @@ -1,6 +1,6 @@ // 语言切换器 - 生产环境优化版本 -// 生成时间: 2026-03-09 14:04:02 (北京时间) -// 多语言页面: 2202 个 +// 生成时间: 2026-03-10 10:07:43 (北京时间) +// 多语言页面: 2203 个 (function() { 'use strict'; @@ -910,6 +910,12 @@ "es", "ja" ], + "/ai_robotics_control_soarm_by_openclaw_on_jetson_thor": [ + "cn", + "en", + "es", + "ja" + ], "/fine_tune_gr00t_n1.5_for_lerobot_so_arm_and_deploy_on_jetson_thor_bk": [ "cn", "en", diff --git a/sites/es/docs/Edge/NVIDIA_Jetson/Application/Physical_AI/es_Control_SoArm_by_OpenClaw_on_Jetson_Thor.md b/sites/es/docs/Edge/NVIDIA_Jetson/Application/Physical_AI/es_Control_SoArm_by_OpenClaw_on_Jetson_Thor.md new file mode 100644 index 0000000000000..ac3f9bd73d669 --- /dev/null +++ b/sites/es/docs/Edge/NVIDIA_Jetson/Application/Physical_AI/es_Control_SoArm_by_OpenClaw_on_Jetson_Thor.md @@ -0,0 +1,346 @@ +--- +description: Este wiki muestra cómo controlar SO-Arm en Jetson Thor con OpenClaw y LeRobot. +title: Controlar SO-Arm con OpenClaw en Jetson Thor +image: https://files.seeedstudio.com/wiki/reComputer-Jetson/openclaw/soarm_claw.webp +slug: /ai_robotics_control_soarm_by_openclaw_on_jetson_thor +sku: 100060965 | 100046482 +last_update: + date: 03/09/2026 + author: youjiang +--- + +# Controlar SO-Arm con OpenClaw en Jetson Thor + +## Introducción + +Este wiki explica cómo combinar OpenClaw y LeRobot en Jetson Thor para controlar un SO-Arm con un agente de IA local. + +**NVIDIA Jetson AGX Thor** es una plataforma de IA de borde de alto rendimiento diseñada para robótica y cargas de trabajo de IA física, que proporciona una potente computación en el dispositivo para percepción, planificación y control. + +**SO-Arm** es una plataforma de brazo robótico de código abierto y bajo costo (SO-ARM100/SO-ARM101) que se utiliza ampliamente para experimentos de IA encarnada, teleoperación y desarrollo de tareas de manipulación. + +**OpenClaw** es un framework de agente de IA que puede orquestar herramientas y modelos locales. En este proyecto, OpenClaw se utiliza como la interfaz de control de alto nivel, mientras que LeRobot proporciona las utilidades de comunicación de motor de bajo nivel y calibración para SO-Arm. + +
+ +
+ +:::note +En esta guía, OpenClaw se encarga de la planificación del agente y la orquestación de tareas, mientras que la ejecución del movimiento de SO-Arm es manejada por LeRobot. +::: + +## Tabla de contenidos + +1. [Preparación de hardware](#preparación-de-hardware) +2. [Configuración del sistema en Jetson Thor](#configuración-del-sistema-en-jetson-thor) +3. [Instalar Ollama y ejecutar un LLM local](#instalar-ollama-y-ejecutar-un-llm-local) +4. [Instalar OpenClaw en Jetson Thor](#instalar-openclaw-en-jetson-thor) +5. [Conectar y calibrar SO-Arm](#conectar-y-calibrar-so-arm) +6. [Ejecutar demostración de control](#ejecutar-demostración-de-control) +7. [Referencias](#referencias) + +## Preparación de hardware + +### Lista de dispositivos + +- 1x Kit de desarrollo NVIDIA® Jetson AGX Thor™ +- 1x SO-ARM101 Brazo de IA de bajo costo + +
+ + + + + + + + + + + + + +
Kit de desarrollo NVIDIA® Jetson AGX Thor™ SO-ARM101 Brazo de IA de bajo costo
+
+ +
+
+
+ +
+
+ + + +
+
+ +### Cableado y conexión + +- Conecta la placa controladora de SO-Arm a Thor mediante USB. +- Conecta el adaptador de alimentación de CC correspondiente a la placa controladora de SO-Arm. +- Enciende Thor y luego enciende la placa controladora del brazo. + +### Lista de verificación de encendido + +- Thor arranca con normalidad y la red está disponible. +- Los LED de la placa controladora de SO-Arm están encendidos. +- El dispositivo serie aparece después de la conexión USB. + +```bash +ls /dev/ttyACM* +``` + +Si se detecta un nodo serie en la salida del terminal, la conexión de hardware es correcta. + +
+ +
+ +## Configuración del sistema en Jetson Thor + +### Actualizar paquetes del sistema + +```bash +sudo apt update +sudo apt install -y nvidia-jetpack git curl ffmpeg python3-pip +python3 -m pip install -U pip +``` + +### Instalar dependencias principales + +Instalar Miniconda (recomendado): + +```bash +wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-aarch64.sh +chmod +x Miniconda3-latest-Linux-aarch64.sh +./Miniconda3-latest-Linux-aarch64.sh +source ~/.bashrc +``` + +
+ +
+ +Crear entorno LeRobot: + +```bash +conda create -y -n lerobot python=3.12 +conda activate lerobot +git clone https://github.com/huggingface/lerobot.git ~/lerobot +cd ~/lerobot +pip install -e . +pip uninstall torch torchvision +pip install torch torchvision --index-url https://pypi.jetson-ai-lab.io +``` + +Instalar Pinocchio en el entorno LeRobot: + +```bash +conda install pinocchio -c conda-forge +``` + +### Verificar CUDA y dispositivos periféricos + +```bash +python -c "import torch; print(torch.cuda.is_available())" +lerobot-find-port +``` + +Resultado esperado: + +- `torch.cuda.is_available()` imprime `True` +- Se detectan los puertos serie del brazo (por ejemplo `/dev/ttyACM0`) + +## Instalar Ollama y ejecutar un LLM local + +Instalar Ollama: + +```bash +curl -fsSL https://ollama.com/install.sh | sh +``` + +Descargar un modelo: + +```bash +ollama pull qwen3-vl:9b +``` + +:::info +Esta guía utiliza `qwen3-vl:9b` como ejemplo. Puedes reemplazarlo por otro modelo de Ollama según tus restricciones de rendimiento y memoria. +::: + +## Instalar OpenClaw en Jetson Thor + +### Instalar OpenClaw + +```bash +curl -fsSL https://openclaw.ai/install.sh | bash +``` + +### Configurar parámetros de ejecución + +Edita `~/.openclaw/openclaw.json` y establece Ollama como el proveedor de modelo predeterminado: + +```json +{ + "agents": { + "defaults": { + "models": { + "ollama": {} + }, + "model": { + "primary": "ollama/qwen3-vl:9b" + } + } + }, + "models": { + "providers": { + "ollama": { + "baseUrl": "http://127.0.0.1:11434/v1", + "apiKey": "ollama-local", + "api": "openai-completions", + "models": [ + { + "id": "qwen3-vl:9b", + "name": "Qwen3 VL 9B", + "reasoning": false, + "input": [ + "text" + ], + "cost": { + "input": 0, + "output": 0, + "cacheRead": 0, + "cacheWrite": 0 + }, + "contextWindow": 128000, + "maxTokens": 8192 + } + ] + } + } + } +} +``` + +:::note +Opcional: también puedes usar directamente el script proporcionado por Ollama para configurar rápidamente el archivo de configuración de OpenClaw. + +`ollama launch openclaw --model qwen3.5` +::: + +### Más configuración + +Instalar la skill de control de SO-Arm: + +- Descarga [soarm-control Skill](https://clawhub.ai/yuyoujiang/soarm-control) +- Extráela en `~/.openclaw/workspace/skills` + +Preparar archivo de descripción del robot: + +- Descarga [SO-ARM101 URDF](https://github.com/TheRobotStudio/SO-ARM100/blob/main/Simulation/SO101/so101_new_calib.urdf) +- Muévelo a `~/.openclaw/workspace/skills/soarm-control/references` + +Reinicia la pasarela de OpenClaw: + +```bash +openclaw gateway restart +``` + +Abrir WebUI: + +```text +http://127.0.0.1:18789/ +``` + +## Conectar y calibrar SO-Arm + +### Permisos y detección del puerto serie + +```bash +conda activate lerobot +lerobot-find-port +sudo chmod 666 /dev/ttyACM* +``` + +### Calibración inicial + +Calibrar el brazo seguidor: + +```bash +lerobot-calibrate \ + --robot.type=so101_follower \ + --robot.port=/dev/ttyACM0 \ + --robot.id=openclaw_soarm +``` + +Los archivos de calibración se guardan en: + +`~/.cache/huggingface/lerobot/calibration/` + +:::note +Para una guía completa de calibración, consulta: +[SO-Arm en LeRobot - Calibrate](https://wiki.seeedstudio.com/es/lerobot_so100m_new/#calibrate) +::: + +## Ejecutar demostración de control + +### Iniciar servicio de OpenClaw + +Asegúrate de que los entornos de OpenClaw y LeRobot estén listos: + +```bash +openclaw gateway restart +conda activate lerobot +``` + +### Ejecutar tarea básica de movimiento + +En OpenClaw WebUI, introduce instrucciones de control del robot. OpenClaw analizará tu prompt y llamará a la skill `soarm-control` instalada para mover el brazo a la posición objetivo. + +El vídeo muestra tres comandos: + +1. Mover el efector final del brazo robótico hacia arriba 20 cm. +2. Luego moverlo hacia adelante 20 cm, manteniendo la altura sin cambios. +3. Volver a la posición inicial. + +Las respuestas de OpenClaw a estos tres comandos coinciden con el comportamiento esperado. + +
+ +
+ +## Referencias + +- https://docs.openclaw.ai/ +- https://wiki.seeedstudio.com/es/local_openclaw_on_recomputer_jetson/ +- https://unstabledemos.com/tutorials/openclaw-orin-nano/ +- https://wiki.seeedstudio.com/es/lerobot_so100m_new/ +- https://github.com/huggingface/lerobot +- https://github.com/TheRobotStudio/SO-ARM100 + +## Soporte técnico y debate sobre el producto + +Gracias por elegir nuestros productos. Estamos aquí para ofrecerte diferentes tipos de soporte y garantizar que tu experiencia con nuestros productos sea lo más fluida posible. Ofrecemos varios canales de comunicación para adaptarnos a diferentes preferencias y necesidades. + +
+ + +
+ +
+ + +
diff --git a/sites/es/sidebars.js b/sites/es/sidebars.js index 0913972dd9276..cb2969f0df300 100644 --- a/sites/es/sidebars.js +++ b/sites/es/sidebars.js @@ -3910,6 +3910,7 @@ const sidebars = { 'Edge/NVIDIA_Jetson/Application/Physical_AI/es_Fine_tune_GR00T_N1.5_for_LeRobot_SO_Arm_and_Deploy_on_Jetson_Thor', 'Edge/NVIDIA_Jetson/Application/Physical_AI/es_Fine_tune_GR00T_N1.6_for_LeRobot_SO_Arm_and_Deploy_on_AGX_Orin', 'Edge/NVIDIA_Jetson/Application/Physical_AI/es_J501_Mini_StarAI_Viola_Fruit_Sorting', + 'Edge/NVIDIA_Jetson/Application/Physical_AI/es_Control_SoArm_by_OpenClaw_on_Jetson_Thor' ] }, // Managed Services diff --git a/sites/es/static/js/language-switcher.js b/sites/es/static/js/language-switcher.js index b783329ebf0e5..3736565d333be 100644 --- a/sites/es/static/js/language-switcher.js +++ b/sites/es/static/js/language-switcher.js @@ -1,6 +1,6 @@ // 语言切换器 - 生产环境优化版本 -// 生成时间: 2026-03-09 14:04:02 (北京时间) -// 多语言页面: 2202 个 +// 生成时间: 2026-03-10 10:07:43 (北京时间) +// 多语言页面: 2203 个 (function() { 'use strict'; @@ -910,6 +910,12 @@ "es", "ja" ], + "/ai_robotics_control_soarm_by_openclaw_on_jetson_thor": [ + "cn", + "en", + "es", + "ja" + ], "/fine_tune_gr00t_n1.5_for_lerobot_so_arm_and_deploy_on_jetson_thor_bk": [ "cn", "en", diff --git a/sites/ja/docs/Edge/NVIDIA_Jetson/Application/Physical_AI/ja_Control_SoArm_by_OpenClaw_on_Jetson_Thor.md b/sites/ja/docs/Edge/NVIDIA_Jetson/Application/Physical_AI/ja_Control_SoArm_by_OpenClaw_on_Jetson_Thor.md new file mode 100644 index 0000000000000..209debfe89720 --- /dev/null +++ b/sites/ja/docs/Edge/NVIDIA_Jetson/Application/Physical_AI/ja_Control_SoArm_by_OpenClaw_on_Jetson_Thor.md @@ -0,0 +1,346 @@ +--- +description: このWikiでは、Jetson Thor 上で OpenClaw と LeRobot を用いて SO-Arm を制御する方法を説明します。 +title: Jetson Thor 上で OpenClaw による SO-Arm 制御 +image: https://files.seeedstudio.com/wiki/reComputer-Jetson/openclaw/soarm_claw.webp +slug: /ai_robotics_control_soarm_by_openclaw_on_jetson_thor +sku: 100060965 | 100046482 +last_update: + date: 03/09/2026 + author: youjiang +--- + +# Jetson Thor 上で OpenClaw による SO-Arm 制御 + +## はじめに + +このWikiでは、Jetson Thor 上で OpenClaw と LeRobot を組み合わせ、ローカル AI エージェントによって SO-Arm を制御する方法を説明します。 + +**NVIDIA Jetson AGX Thor** は、ロボティクスおよびフィジカル AI ワークロード向けに設計された高性能エッジ AI プラットフォームであり、認識・計画・制御のための強力なオンデバイス計算能力を提供します。 + +**SO-Arm** は、オープンソースで低コストなロボットアームプラットフォーム(SO-ARM100/SO-ARM101)であり、エンボディド AI 実験、遠隔操作、マニピュレーションタスク開発に広く利用されています。 + +**OpenClaw** は、ローカルのツールやモデルをオーケストレーションできる AI エージェントフレームワークです。本プロジェクトでは、OpenClaw を高レベル制御インターフェースとして使用し、LeRobot が SO-Arm 向けの低レベルモーター通信およびキャリブレーションユーティリティを提供します。 + +
+ +
+ +:::note +このガイドでは、OpenClaw がエージェントのプランニングとタスクオーケストレーションを担当し、SO-Arm のモーション実行は LeRobot によって処理されます。 +::: + +## 目次 + +1. [ハードウェアの準備](#ハードウェアの準備) +2. [Jetson Thor 上でのシステムセットアップ](#jetson-thor-上でのシステムセットアップ) +3. [Ollama をインストールしてローカル LLM を実行](#ollama-をインストールしてローカル-llm-を実行) +4. [Jetson Thor に OpenClaw をインストール](#jetson-thor-に-openclaw-をインストール) +5. [SO-Arm の接続とキャリブレーション](#so-arm-の接続とキャリブレーション) +6. [制御デモの実行](#制御デモの実行) +7. [参考資料](#参考資料) + +## ハードウェアの準備 + +### デバイス一覧 + +- NVIDIA® Jetson AGX Thor™ Developer Kit ×1 +- SO-ARM101 低コスト AI アーム ×1 + +
+ + + + + + + + + + + + + +
NVIDIA® Jetson AGX Thor™ Developer Kit SO-ARM101 Low-Cost AI Arm
+
+ +
+
+
+ +
+
+ + + +
+
+ +### 配線と接続 + +- SO-Arm コントローラボードを USB で Thor に接続します。 +- 対応する DC 電源アダプタを SO-Arm コントローラボードに接続します。 +- Thor の電源を入れ、その後アームコントローラボードの電源を入れます。 + +### 電源投入時のチェックリスト + +- Thor が正常に起動し、ネットワークに接続できる。 +- SO-Arm コントローラボードの LED が点灯している。 +- USB 接続後にシリアルデバイスが現れる。 + +```bash +ls /dev/ttyACM* +``` + +ターミナル出力でシリアルノードが検出されれば、ハードウェア接続は正しく行われています。 + +
+ +
+ +## Jetson Thor 上でのシステムセットアップ + +### システムパッケージの更新 + +```bash +sudo apt update +sudo apt install -y nvidia-jetpack git curl ffmpeg python3-pip +python3 -m pip install -U pip +``` + +### 主要な依存関係のインストール + +Miniconda をインストールします(推奨): + +```bash +wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-aarch64.sh +chmod +x Miniconda3-latest-Linux-aarch64.sh +./Miniconda3-latest-Linux-aarch64.sh +source ~/.bashrc +``` + +
+ +
+ +LeRobot 用の環境を作成します: + +```bash +conda create -y -n lerobot python=3.12 +conda activate lerobot +git clone https://github.com/huggingface/lerobot.git ~/lerobot +cd ~/lerobot +pip install -e . +pip uninstall torch torchvision +pip install torch torchvision --index-url https://pypi.jetson-ai-lab.io +``` + +LeRobot 環境に Pinocchio をインストールします: + +```bash +conda install pinocchio -c conda-forge +``` + +### CUDA と周辺デバイスの確認 + +```bash +python -c "import torch; print(torch.cuda.is_available())" +lerobot-find-port +``` + +期待される結果: + +- `torch.cuda.is_available()` が `True` を出力する +- アームのシリアルポートが検出される(例 `/dev/ttyACM0`) + +## Ollama をインストールしてローカル LLM を実行 + +Ollama をインストールします: + +```bash +curl -fsSL https://ollama.com/install.sh | sh +``` + +モデルを取得します: + +```bash +ollama pull qwen3-vl:9b +``` + +:::info +このガイドでは例として `qwen3-vl:9b` を使用します。性能やメモリ要件に応じて、別の Ollama モデルに置き換えることもできます。 +::: + +## Jetson Thor に OpenClaw をインストール + +### OpenClaw のインストール + +```bash +curl -fsSL https://openclaw.ai/install.sh | bash +``` + +### 実行時パラメータの設定 + +`~/.openclaw/openclaw.json` を編集し、Ollama をデフォルトのモデルプロバイダとして設定します: + +```json +{ + "agents": { + "defaults": { + "models": { + "ollama": {} + }, + "model": { + "primary": "ollama/qwen3-vl:9b" + } + } + }, + "models": { + "providers": { + "ollama": { + "baseUrl": "http://127.0.0.1:11434/v1", + "apiKey": "ollama-local", + "api": "openai-completions", + "models": [ + { + "id": "qwen3-vl:9b", + "name": "Qwen3 VL 9B", + "reasoning": false, + "input": [ + "text" + ], + "cost": { + "input": 0, + "output": 0, + "cacheRead": 0, + "cacheWrite": 0 + }, + "contextWindow": 128000, + "maxTokens": 8192 + } + ] + } + } + } +} +``` + +:::note +オプション: Ollama が提供するスクリプトを直接使用して、OpenClaw の設定ファイルを素早くセットアップすることもできます。 + +`ollama launch openclaw --model qwen3.5` +::: + +### 追加設定 + +SO-Arm 制御スキルをインストールします: + +- [soarm-control Skill](https://clawhub.ai/yuyoujiang/soarm-control) をダウンロードします +- それを `~/.openclaw/workspace/skills` に展開します + +ロボット記述ファイルを準備します: + +- [SO-ARM101 URDF](https://github.com/TheRobotStudio/SO-ARM100/blob/main/Simulation/SO101/so101_new_calib.urdf) をダウンロードします +- それを `~/.openclaw/workspace/skills/soarm-control/references` に移動します + +OpenClaw ゲートウェイを再起動します: + +```bash +openclaw gateway restart +``` + +WebUI を開きます: + +```text +http://127.0.0.1:18789/ +``` + +## SO-Arm の接続とキャリブレーション + +### シリアルポートの権限と検出 + +```bash +conda activate lerobot +lerobot-find-port +sudo chmod 666 /dev/ttyACM* +``` + +### 初期キャリブレーション + +フォロワーアームをキャリブレーションします: + +```bash +lerobot-calibrate \ + --robot.type=so101_follower \ + --robot.port=/dev/ttyACM0 \ + --robot.id=openclaw_soarm +``` + +キャリブレーションファイルは次の場所に保存されます: + +`~/.cache/huggingface/lerobot/calibration/` + +:::note +完全なキャリブレーション手順については、以下を参照してください: +[SO-Arm in LeRobot - Calibrate](https://wiki.seeedstudio.com/ja/lerobot_so100m_new/#calibrate) +::: + +## 制御デモの実行 + +### OpenClaw サービスの起動 + +OpenClaw と LeRobot の環境が準備できていることを確認します: + +```bash +openclaw gateway restart +conda activate lerobot +``` + +### 基本モーションタスクの実行 + +OpenClaw WebUI でロボット制御の指示を入力します。OpenClaw はプロンプトを解析し、インストール済みの `soarm-control` スキルを呼び出して、アームを目標位置まで動かします。 + +このビデオでは、次の 3 つのコマンドを実演しています: + +1. ロボットアームのエンドエフェクタを上方向に 20 cm 移動する。 +2. 高さを変えずに、前方へ 20 cm 移動する。 +3. 初期位置に戻る。 + +これら 3 つのコマンドに対する OpenClaw の応答は、いずれも期待どおりの動作になっています。 + +
+ +
+ +## 参考資料 + +- https://docs.openclaw.ai/ +- https://wiki.seeedstudio.com/ja/local_openclaw_on_recomputer_jetson/ +- https://unstabledemos.com/tutorials/openclaw-orin-nano/ +- https://wiki.seeedstudio.com/ja/lerobot_so100m_new/ +- https://github.com/huggingface/lerobot +- https://github.com/TheRobotStudio/SO-ARM100 + +## 技術サポートと製品ディスカッション + +弊社製品をお選びいただきありがとうございます。製品をできるだけスムーズにご利用いただけるよう、さまざまなサポートをご用意しています。お好みやニーズに応じて選べる複数のコミュニケーションチャネルを提供しています。 + +
+ + +
+ +
+ + +
diff --git a/sites/ja/sidebars.js b/sites/ja/sidebars.js index 2d34417d7b713..020e265a6164d 100644 --- a/sites/ja/sidebars.js +++ b/sites/ja/sidebars.js @@ -3910,6 +3910,7 @@ const sidebars = { 'Edge/NVIDIA_Jetson/Application/Physical_AI/ja_Fine_tune_GR00T_N1.5_for_LeRobot_SO_Arm_and_Deploy_on_Jetson_Thor', 'Edge/NVIDIA_Jetson/Application/Physical_AI/ja_Fine_tune_GR00T_N1.6_for_LeRobot_SO_Arm_and_Deploy_on_AGX_Orin', 'Edge/NVIDIA_Jetson/Application/Physical_AI/ja_J501_Mini_StarAI_Viola_Fruit_Sorting', + 'Edge/NVIDIA_Jetson/Application/Physical_AI/ja_Control_SoArm_by_OpenClaw_on_Jetson_Thor' ] }, // Managed Services diff --git a/sites/ja/static/js/language-switcher.js b/sites/ja/static/js/language-switcher.js index b783329ebf0e5..3736565d333be 100644 --- a/sites/ja/static/js/language-switcher.js +++ b/sites/ja/static/js/language-switcher.js @@ -1,6 +1,6 @@ // 语言切换器 - 生产环境优化版本 -// 生成时间: 2026-03-09 14:04:02 (北京时间) -// 多语言页面: 2202 个 +// 生成时间: 2026-03-10 10:07:43 (北京时间) +// 多语言页面: 2203 个 (function() { 'use strict'; @@ -910,6 +910,12 @@ "es", "ja" ], + "/ai_robotics_control_soarm_by_openclaw_on_jetson_thor": [ + "cn", + "en", + "es", + "ja" + ], "/fine_tune_gr00t_n1.5_for_lerobot_so_arm_and_deploy_on_jetson_thor_bk": [ "cn", "en", diff --git a/sites/zh-CN/docs/Edge/NVIDIA_Jetson/Application/Physical_AI/cn_Control_SoArm_by_OpenClaw_on_Jetson_Thor.md b/sites/zh-CN/docs/Edge/NVIDIA_Jetson/Application/Physical_AI/cn_Control_SoArm_by_OpenClaw_on_Jetson_Thor.md new file mode 100644 index 0000000000000..6aa77720cee67 --- /dev/null +++ b/sites/zh-CN/docs/Edge/NVIDIA_Jetson/Application/Physical_AI/cn_Control_SoArm_by_OpenClaw_on_Jetson_Thor.md @@ -0,0 +1,346 @@ +--- +description: 本维基展示如何在 Jetson Thor 上结合 OpenClaw 和 LeRobot 控制 SO-Arm。 +title: 在 Jetson Thor 上通过 OpenClaw 控制 SO-Arm +image: https://files.seeedstudio.com/wiki/reComputer-Jetson/openclaw/soarm_claw.webp +slug: /ai_robotics_control_soarm_by_openclaw_on_jetson_thor +sku: 100060965 | 100046482 +last_update: + date: 03/09/2026 + author: youjiang +--- + +# 在 Jetson Thor 上通过 OpenClaw 控制 SO-Arm + +## 介绍 + +本维基说明如何在 Jetson Thor 上结合 OpenClaw 和 LeRobot,通过本地 AI 智能体控制 SO-Arm。 + +**NVIDIA Jetson AGX Thor** 是一款为机器人和物理 AI 工作负载设计的高性能边缘 AI 平台,为感知、规划和控制提供强大的本地算力。 + +**SO-Arm** 是一个开源、低成本的机械臂平台(SO-ARM100/SO-ARM101),广泛用于具身智能实验、远程操作和操作任务开发。 + +**OpenClaw** 是一个可以编排本地工具和模型的 AI 智能体框架。在本项目中,OpenClaw 用作高层控制接口,而 LeRobot 为 SO-Arm 提供底层电机通信和标定工具。 + +
+ +
+ +:::note +在本指南中,OpenClaw 负责智能体规划和任务编排,而 SO-Arm 的运动执行由 LeRobot 负责。 +::: + +## 目录 + +1. [硬件准备](#硬件准备) +2. [在 Jetson Thor 上进行系统设置](#在-jetson-thor-上进行系统设置) +3. [安装 Ollama 并运行本地 LLM](#安装-ollama-并运行本地-llm) +4. [在 Jetson Thor 上安装 OpenClaw](#在-jetson-thor-上安装-openclaw) +5. [连接并标定 SO-Arm](#连接并标定-so-arm) +6. [运行控制演示](#运行控制演示) +7. [参考资料](#参考资料) + +## 硬件准备 + +### 设备清单 + +- 1x NVIDIA® Jetson AGX Thor™ 开发套件 +- 1x SO-ARM101 低成本 AI 机械臂 + +
+ + + + + + + + + + + + + +
NVIDIA® Jetson AGX Thor™ Developer Kit SO-ARM101 Low-Cost AI Arm
+
+ +
+
+
+ +
+
+ + + +
+
+ +### 接线与连接 + +- 通过 USB 将 SO-Arm 控制板连接到 Thor。 +- 将匹配的直流电源适配器连接到 SO-Arm 控制板。 +- 先给 Thor 上电,然后给机械臂控制板上电。 + +### 上电检查清单 + +- Thor 正常启动且网络可用。 +- SO-Arm 控制板指示灯点亮。 +- USB 连接后出现串口设备。 + +```bash +ls /dev/ttyACM* +``` + +如果在终端输出中检测到串口节点,则说明硬件连接正确。 + +
+ +
+ +## 在 Jetson Thor 上进行系统设置 + +### 更新系统软件包 + +```bash +sudo apt update +sudo apt install -y nvidia-jetpack git curl ffmpeg python3-pip +python3 -m pip install -U pip +``` + +### 安装核心依赖 + +安装 Miniconda(推荐): + +```bash +wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-aarch64.sh +chmod +x Miniconda3-latest-Linux-aarch64.sh +./Miniconda3-latest-Linux-aarch64.sh +source ~/.bashrc +``` + +
+ +
+ +创建 LeRobot 环境: + +```bash +conda create -y -n lerobot python=3.12 +conda activate lerobot +git clone https://github.com/huggingface/lerobot.git ~/lerobot +cd ~/lerobot +pip install -e . +pip uninstall torch torchvision +pip install torch torchvision --index-url https://pypi.jetson-ai-lab.io +``` + +在 LeRobot 环境中安装 Pinocchio: + +```bash +conda install pinocchio -c conda-forge +``` + +### 验证 CUDA 和外设设备 + +```bash +python -c "import torch; print(torch.cuda.is_available())" +lerobot-find-port +``` + +预期结果: + +- `torch.cuda.is_available()` 输出 `True` +- 检测到机械臂串口(例如 `/dev/ttyACM0`) + +## 安装 Ollama 并运行本地 LLM + +安装 Ollama: + +```bash +curl -fsSL https://ollama.com/install.sh | sh +``` + +拉取模型: + +```bash +ollama pull qwen3-vl:9b +``` + +:::info +本指南以 `qwen3-vl:9b` 为示例。你可以根据性能和内存限制替换为其他 Ollama 模型。 +::: + +## 在 Jetson Thor 上安装 OpenClaw + +### 安装 OpenClaw + +```bash +curl -fsSL https://openclaw.ai/install.sh | bash +``` + +### 配置运行参数 + +编辑 `~/.openclaw/openclaw.json`,将 Ollama 设置为默认模型提供方: + +```json +{ + "agents": { + "defaults": { + "models": { + "ollama": {} + }, + "model": { + "primary": "ollama/qwen3-vl:9b" + } + } + }, + "models": { + "providers": { + "ollama": { + "baseUrl": "http://127.0.0.1:11434/v1", + "apiKey": "ollama-local", + "api": "openai-completions", + "models": [ + { + "id": "qwen3-vl:9b", + "name": "Qwen3 VL 9B", + "reasoning": false, + "input": [ + "text" + ], + "cost": { + "input": 0, + "output": 0, + "cacheRead": 0, + "cacheWrite": 0 + }, + "contextWindow": 128000, + "maxTokens": 8192 + } + ] + } + } + } +} +``` + +:::note +可选:你也可以直接使用 Ollama 提供的脚本快速设置 OpenClaw 配置文件。 + +`ollama launch openclaw --model qwen3.5` +::: + +### 更多配置 + +安装 SO-Arm 控制技能: + +- 下载 [soarm-control 技能](https://clawhub.ai/yuyoujiang/soarm-control) +- 将其解压到 `~/.openclaw/workspace/skills` + +准备机器人描述文件: + +- 下载 [SO-ARM101 URDF](https://github.com/TheRobotStudio/SO-ARM100/blob/main/Simulation/SO101/so101_new_calib.urdf) +- 将其移动到 `~/.openclaw/workspace/skills/soarm-control/references` + +重启 OpenClaw 网关: + +```bash +openclaw gateway restart +``` + +打开 WebUI: + +```text +http://127.0.0.1:18789/ +``` + +## 连接并标定 SO-Arm + +### 串口权限与检测 + +```bash +conda activate lerobot +lerobot-find-port +sudo chmod 666 /dev/ttyACM* +``` + +### 初始标定 + +标定从动机械臂: + +```bash +lerobot-calibrate \ + --robot.type=so101_follower \ + --robot.port=/dev/ttyACM0 \ + --robot.id=openclaw_soarm +``` + +标定文件保存在: + +`~/.cache/huggingface/lerobot/calibration/` + +:::note +完整的标定流程请参考: +[SO-Arm in LeRobot - Calibrate](https://wiki.seeedstudio.com/cn/lerobot_so100m_new/#calibrate) +::: + +## 运行控制演示 + +### 启动 OpenClaw 服务 + +确保 OpenClaw 和 LeRobot 环境已就绪: + +```bash +openclaw gateway restart +conda activate lerobot +``` + +### 执行基础运动任务 + +在 OpenClaw WebUI 中输入机器人控制指令。OpenClaw 会解析你的提示词,并调用已安装的 `soarm-control` 技能驱动机械臂运动到目标位置。 + +视频演示了三条指令: + +1. 将机械臂末端执行器向上移动 20 cm。 +2. 然后在保持高度不变的情况下向前移动 20 cm。 +3. 回到初始位置。 + +OpenClaw 对这三条指令的响应都与预期行为一致。 + +
+ +
+ +## 参考资料 + +- https://docs.openclaw.ai/ +- https://wiki.seeedstudio.com/cn/local_openclaw_on_recomputer_jetson/ +- https://unstabledemos.com/tutorials/openclaw-orin-nano/ +- https://wiki.seeedstudio.com/cn/lerobot_so100m_new/ +- https://github.com/huggingface/lerobot +- https://github.com/TheRobotStudio/SO-ARM100 + +## 技术支持与产品讨论 + +感谢你选择我们的产品!我们为你提供多种支持方式,以确保你在使用我们产品的过程中尽可能顺利。我们提供多种沟通渠道,以满足不同的偏好和需求。 + +
+ + +
+ +
+ + +
diff --git a/sites/zh-CN/sidebars.js b/sites/zh-CN/sidebars.js index 5deb9d2903198..89b6a7ba954ba 100644 --- a/sites/zh-CN/sidebars.js +++ b/sites/zh-CN/sidebars.js @@ -3910,6 +3910,7 @@ const sidebars = { 'Edge/NVIDIA_Jetson/Application/Physical_AI/cn_Fine_tune_GR00T_N1.5_for_LeRobot_SO_Arm_and_Deploy_on_Jetson_Thor', 'Edge/NVIDIA_Jetson/Application/Physical_AI/cn_Fine_tune_GR00T_N1.6_for_LeRobot_SO_Arm_and_Deploy_on_AGX_Orin', 'Edge/NVIDIA_Jetson/Application/Physical_AI/cn_J501_Mini_StarAI_Viola_Fruit_Sorting', + 'Edge/NVIDIA_Jetson/Application/Physical_AI/cn_Control_SoArm_by_OpenClaw_on_Jetson_Thor' ] }, // Managed Services diff --git a/sites/zh-CN/static/js/language-switcher.js b/sites/zh-CN/static/js/language-switcher.js index b783329ebf0e5..3736565d333be 100644 --- a/sites/zh-CN/static/js/language-switcher.js +++ b/sites/zh-CN/static/js/language-switcher.js @@ -1,6 +1,6 @@ // 语言切换器 - 生产环境优化版本 -// 生成时间: 2026-03-09 14:04:02 (北京时间) -// 多语言页面: 2202 个 +// 生成时间: 2026-03-10 10:07:43 (北京时间) +// 多语言页面: 2203 个 (function() { 'use strict'; @@ -910,6 +910,12 @@ "es", "ja" ], + "/ai_robotics_control_soarm_by_openclaw_on_jetson_thor": [ + "cn", + "en", + "es", + "ja" + ], "/fine_tune_gr00t_n1.5_for_lerobot_so_arm_and_deploy_on_jetson_thor_bk": [ "cn", "en", diff --git a/static/js/language-switcher.js b/static/js/language-switcher.js index b783329ebf0e5..3736565d333be 100644 --- a/static/js/language-switcher.js +++ b/static/js/language-switcher.js @@ -1,6 +1,6 @@ // 语言切换器 - 生产环境优化版本 -// 生成时间: 2026-03-09 14:04:02 (北京时间) -// 多语言页面: 2202 个 +// 生成时间: 2026-03-10 10:07:43 (北京时间) +// 多语言页面: 2203 个 (function() { 'use strict'; @@ -910,6 +910,12 @@ "es", "ja" ], + "/ai_robotics_control_soarm_by_openclaw_on_jetson_thor": [ + "cn", + "en", + "es", + "ja" + ], "/fine_tune_gr00t_n1.5_for_lerobot_so_arm_and_deploy_on_jetson_thor_bk": [ "cn", "en",