O Que Você Vai Realizar

No final desta unidade, você terá um ambiente virtual Python com o SDK do OpenArm instalado, e executar um script de teste de 5 linhas retornará True de arm.ping(). Essa confirmação significa que seu código Python tem um canal de comunicação ativo com o braço — que é a base sobre a qual tudo nas Unidades 3–6 se baseia.

A documentação completa de instalação e configuração do SDK está em hardware/openarm/software. Esta unidade estrutura esse processo com o contexto que você precisa e cobre os modos de falha mais comuns.

Instale o SDK

Trabalhe através do guia de configuração de software para a instalação completa do SDK. A versão curta:

# Create an isolated environment for this path python3 -m venv ~/openarm-env # Install the SDK and its dependencies pip install openarm-sdk lerobot torch torchvision

A instalação leva de 5 a 15 minutos, dependendo da sua conexão com a internet. Os torch e lerobot pacotes são grandes, mas você precisará deles nas Unidades 4 e 5, então instale-os agora.

Teste Rápido de Conexão Python

Com o ROS 2 em execução (da Unidade 1) e seu ambiente virtual ativado, execute este teste. É a maneira mais rápida de confirmar que sua pilha completa está funcionando de ponta a ponta:

# Make sure ROS 2 is running first (from a separate terminal) # source ~/openarm_ws/install/setup.bash && ros2 launch openarm_bringup real.launch.py da importação do openarm OpenArm # connects via ROS 2 action server print(arm.ping()) # should print: True print(arm.get_joints()) # should print: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0] arm.close()

Se arm.ping() retorna True e arm.get_joints() retorna os ângulos articulares atuais, você terminou. Passe para a seção de solução de problemas apenas se você ver erros.

Solução de Problemas: Os 3 Erros de Conexão Mais Comuns

Erro 1: ConnectionRefusedError ou tempo limite em OpenArm()

ROS 2 não está em execução ou o servidor de ação ainda não foi iniciado. Verifique se ros2 node list mostra /openarm_controller. Se não, volte para o seu terminal ROS 2 e confirme que o lançamento foi concluído sem erros. Uma causa secundária comum: você esqueceu de configurar seu espaço de trabalho antes de lançar — veja a Unidade 1, passo crítico 2.

Erro 2: can0: Network is down sem terminal ROS 2

A interface SocketCAN foi desconectada. Isso acontece se você desconectar e reconectar o adaptador USB-CAN sem reexecutar o ip link set comando. Execute sudo ip link set can0 up type can bitrate 1000000, então reinicie o lançamento do ROS 2. Adicione este comando a um script de inicialização para que ele seja executado automaticamente na inicialização: sudo nano /etc/network/interfaces.d/can0.

Erro 3: arm.get_joints() retorna todos os zeros mesmo quando o braço não está em posição inicial

Isso não é um erro — significa que o braço está está relatando seu estado articular, mas a calibração pode não estar completa. Se o seu braço estiver fisicamente na posição zero, os zeros estão corretos. Se o seu braço estiver em um ângulo diferente, mas ainda relatando zeros, reexecute a calibração pela interface da web (Unidade 1, passo crítico 4). Os codificadores de junta precisam da sequência de homing para estabelecer a posição absoluta.

Unidade 2 Completa Quando...

arm.ping() retorna True no seu terminal Python. O script de teste é executado sem erros do início ao fim. Você pode ver os valores dos ângulos articulares mudarem em tempo real quando você move fisicamente o braço enquanto arm.get_joints() é consultado em um loop. Você está pronto para a Unidade 3.