Controlar SO-Arm com OpenClaw no Jetson Thor
Introdução
Este wiki explica como combinar OpenClaw e LeRobot no Jetson Thor para controlar um SO-Arm com um agente de IA local.
NVIDIA Jetson AGX Thor é uma plataforma de IA de borda de alto desempenho projetada para robótica e cargas de trabalho de IA física, fornecendo forte capacidade de computação local para percepção, planejamento e controle.
SO-Arm é uma plataforma de braço robótico de baixo custo e código aberto (SO-ARM100/SO-ARM101) amplamente utilizada para experimentos de IA incorporada, teleoperação e desenvolvimento de tarefas de manipulação.
OpenClaw é um framework de agente de IA que pode orquestrar ferramentas e modelos locais. Neste projeto, o OpenClaw é usado como a interface de controle de alto nível, enquanto o LeRobot fornece a comunicação de baixo nível com os motores e utilitários de calibração para o SO-Arm.

Neste guia, o OpenClaw lida com o planejamento do agente e a orquestração de tarefas, enquanto a execução de movimento do SO-Arm é tratada pelo LeRobot.
Sumário
- Preparação de Hardware
- Configuração do Sistema no Jetson Thor
- Instalar Ollama e Executar um LLM Local
- Instalar OpenClaw no Jetson Thor
- Conectar e Calibrar SO-Arm
- Executar Demo de Controle
- Referências
Preparação de Hardware
Lista de Dispositivos
- 1x Kit de Desenvolvimento NVIDIA® Jetson AGX Thor™
- 1x SO-ARM101 Braço de IA de Baixo Custo
| Kit de Desenvolvimento NVIDIA® Jetson AGX Thor™ | SO-ARM101 Braço de IA de Baixo Custo |
|---|---|
![]() | ![]() |
Fiação e Conexão
- Conecte a placa controladora do SO-Arm ao Thor via USB.
- Conecte o adaptador de energia DC correspondente à placa controladora do SO-Arm.
- Ligue o Thor e depois ligue a placa controladora do braço.
Checklist de Inicialização
- Thor inicializa normalmente e a rede está disponível.
- Os LEDs da placa controladora do SO-Arm estão acesos.
- O dispositivo serial aparece após a conexão USB.
ls /dev/ttyACM*
Se um nó serial for detectado na saída do terminal, a conexão de hardware está correta.

Configuração do Sistema no Jetson Thor
Atualizar Pacotes do Sistema
sudo apt update
sudo apt install -y nvidia-jetpack git curl ffmpeg python3-pip
python3 -m pip install -U pip
Instalar Dependências Principais
Instale o Miniconda (recomendado):
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

Crie o ambiente LeRobot:
conda create -y -n lerobot python=3.10
conda activate lerobot
pip install 'lerobot[feetech]'
pip uninstall torch torchvision
pip install torch torchvision --index-url https://pypi.jetson-ai-lab.io
Instale o Pinocchio no ambiente LeRobot:
conda install mamba -y
mamba install -c conda-forge pinocchio pinocchio-python libpinocchio -y
Verificar CUDA e Dispositivos Periféricos
python -c "import torch; print(torch.cuda.is_available())"
lerobot-find-port
Resultado esperado:
torch.cuda.is_available()imprimeTrue- portas seriais do braço são detectadas (por exemplo
/dev/ttyACM0)
Instalar Ollama e Executar um LLM Local
Instale o Ollama:
curl -fsSL https://ollama.com/install.sh | sh
Baixe um modelo:
ollama pull qwen3.5:35b
Este guia usa qwen3.5:35b como exemplo. Você pode substituí-lo por outro modelo Ollama com base nas suas restrições de desempenho e memória.
Instalar OpenClaw no Jetson Thor
Instalar OpenClaw
curl -fsSL https://openclaw.ai/install.sh | bash
Configurar Parâmetros de Execução
Edite ~/.openclaw/openclaw.json e defina o Ollama como provedor de modelo padrão:
openclaw.json
{
"agents": {
"defaults": {
"compaction": {
"mode": "safeguard"
},
"maxConcurrent": 4,
"model": {
"primary": "ollama/qwen3.5:35b"
},
"subagents": {
"maxConcurrent": 8
},
"workspace": "/home/seeed/.openclaw/workspace"
},
"list": [
{
"id": "main",
"tools": {
"profile": "full"
}
}
]
},
"commands": {
"native": "auto",
"nativeSkills": "auto",
"ownerDisplay": "raw",
"restart": true
},
"gateway": {
"auth": {
"mode": "token",
"token": "98aefed421e9a506a3174dab0575fd3cc36c9d15b856a894"
},
"bind": "loopback",
"mode": "local",
"nodes": {
"denyCommands": [
"camera.snap",
"camera.clip",
"screen.record",
"contacts.add",
"calendar.add",
"reminders.add",
"sms.send"
]
},
"port": 18789,
"tailscale": {
"mode": "off",
"resetOnExit": false
}
},
"messages": {
"ackReactionScope": "group-mentions"
},
"meta": {
"lastTouchedAt": "2026-03-10T06:45:16.014Z",
"lastTouchedVersion": "2026.3.8"
},
"models": {
"providers": {
"ollama": {
"api": "ollama",
"apiKey": "ollama-local",
"baseUrl": "http://127.0.0.1:11434",
"models": [
{
"contextWindow": 262144,
"cost": {
"cacheRead": 0,
"cacheWrite": 0,
"input": 0,
"output": 0
},
"id": "qwen3.5:35b",
"input": [
"text",
"image"
],
"name": "qwen3.5:35b",
"reasoning": true
},
{
"contextWindow": 262144,
"cost": {
"cacheRead": 0,
"cacheWrite": 0,
"input": 0,
"output": 0
},
"id": "qwen3.5",
"input": [
"text",
"image"
],
"name": "qwen3.5",
"reasoning": true
}
]
}
}
},
"session": {
"dmScope": "per-channel-peer"
},
"tools": {
"profile": "coding"
},
"wizard": {
"lastRunAt": "2026-03-10T02:17:28.382Z",
"lastRunCommand": "onboard",
"lastRunMode": "local",
"lastRunVersion": "2026.3.8"
}
}
Opcional: você também pode usar diretamente o script fornecido pelo Ollama para configurar rapidamente o arquivo de configuração do OpenClaw.
ollama launch openclaw --model qwen3.5
Mais Configurações
Instale a skill de controle do SO-Arm:
- Baixe a soarm-control Skill
- Extraia-a para
~/.openclaw/workspace/skills
Prepare o arquivo de descrição do robô:
- Baixe o SO-ARM101 URDF
- Mova-o para
~/.openclaw/workspace/skills/soarm-control/references
[Opcional] Adicionar modelo de detecção:
- Treine um modelo de detecção (YoloV11n) conforme referência aqui
- Mova o modelo de detecção (
best.pt) para~/.openclaw/workspace/skills/soarm-control/scripts
Reinicie o gateway do OpenClaw:
openclaw gateway restart
Abra o WebUI:
http://127.0.0.1:18789/wiki

Conectar e Calibrar SO-Arm
Permissão e Detecção da Porta Serial
conda activate lerobot
lerobot-find-port
sudo chmod 666 /dev/ttyACM*
Calibração Inicial
Calibre o braço seguidor:
lerobot-calibrate \
--robot.type=so101_follower \
--robot.port=/dev/ttyACM0 \
--robot.id=openclaw_soarm
Os arquivos de calibração são salvos em:
~/.cache/huggingface/lerobot/calibration/
Para um passo a passo completo de calibração, consulte: SO-Arm no LeRobot - Calibrate
Executar Demo de Controle
Iniciar Serviço de Backend
Certifique-se de que os ambientes OpenClaw e LeRobot estão prontos:
openclaw gateway restart
conda activate lerobot
cd ~/.openclaw/workspace/skills/soarm-control
bash scripts/start_server.sh &
Executar Tarefa Básica de Movimento
No OpenClaw WebUI, insira instruções de controle do robô. O OpenClaw irá analisar seu prompt e chamar a skill soarm-control instalada para mover o braço até a posição alvo.
Referências
- https://docs.openclaw.ai/
- https://wiki.seeedstudio.com/pt-br/local_openclaw_on_recomputer_jetson/
- https://unstabledemos.com/tutorials/openclaw-orin-nano/
- https://wiki.seeedstudio.com/pt-br/lerobot_so100m_new/
- https://github.com/huggingface/lerobot
- https://github.com/TheRobotStudio/SO-ARM100
Suporte Técnico e Discussão de Produtos
Obrigado por escolher nossos produtos! Estamos aqui para oferecer diferentes tipos de suporte para garantir que sua experiência com nossos produtos seja a mais tranquila possível. Oferecemos vários canais de comunicação para atender a diferentes preferências e necessidades.

