🧪 Novos tutoriais em andamento — do braço robótico ao sensor
Ir para o conteúdo

Tutorial de Introdução ao ROS

Para desenvolvedores iniciantes em ROS. Baseado em Ubuntu 22.04 + ROS 2 Humble, com exemplos práticos usando o módulo IMU e o braço SO-ARM101 da Juxi Technology.

1. O que é o ROS?

O ROS (Robot Operating System) é o padrão de middleware de fato para robótica:

  • Topics: publish/subscribe, comunicação ponto a ponto (ex.: fluxos de dados do IMU)
  • Services: requisição/resposta (ex.: acionar uma ação)
  • Launch: inicialização de vários nós com um único comando

O ROS 2 (Humble) é a versão principal atual, com melhorias em tempo real, multi-máquina e segurança.

2. Configuração do Ambiente

Ubuntu 22.04 + ROS 2 Humble

bash
# Add ROS 2 repository
sudo apt update && sudo apt install -y curl gnupg lsb-release
sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key \
  -o /usr/share/keyrings/ros-archive-keyring.gpg

echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu $(source /etc/os-release && echo $UBUNTU_CODENAME) main" | \
  sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null

# Install
sudo apt update
sudo apt install -y ros-humble-desktop

# Source environment (each new terminal, or add to ~/.bashrc)
source /opt/ros/humble/setup.bash

Verificar a Instalação

bash
# Terminal 1
ros2 run demo_nodes_cpp talker

# Terminal 2
ros2 run demo_nodes_py listener

Ver Hello World: N em loop significa sucesso.

3. Conceitos Principais

ConceitoDescriçãoExemplo
Processo independenteNó do IMU, nó do braço robótico
TópicoFluxo de dados publish/subscribe/imu/data atitude
MensagemTipo de dado do tópicosensor_msgs/Imu
ServiçoRequisição/respostaAcionar reset do servo
Arquivo launchOrquestração de inicialização de vários nósimu_launch.py

4. Prática com Produtos Juxi

Módulo IMU (ROS 2)

bash
git clone https://github.com/Juxi-Technology/ICM42670P-High-Precision-IMU-Module.git
cd ICM42670P-High-Precision-IMU-Module
colcon build
source install/setup.bash

ros2 launch icm42670p imu_launch.py

# View data
ros2 topic echo /imu/data

Módulo KWS (RViz2)

5. Cola de Comandos

bash
ros2 node list                 # List nodes
ros2 topic list                # List topics
ros2 topic echo /topic         # View topic data
ros2 service list              # List services
ros2 launch pkg file.launch.py # Launch

FAQ

Q: source /opt/ros/humble/setup.bash com erros?

A: Verifique a versão instalada e o caminho; no Jetson, ative o conda primeiro, se usado.

Q: Erros de permissão de porta?

A: sudo chmod 666 /dev/ttyACM*.

Q: Usando Jetson?

A: Atenção à compatibilidade do PyTorch — veja Compatibilidade PyTorch em Jetson.


Suporte