Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Manufacturing Technology >> Processo de manufatura

Robô Assistente Doméstico Autônomo: Lista Completa de Peças e Guia de Configuração

Componentes e Materiais

ComponenteQuantidade
Arduino UNO1
Braço Robótico Arduino Braccio1
Odroid XU41
Driver de Motor de Passo EasyDriver1
Motor de Passo1
Driver de Motor L2981
Motor DC (genérico)4
IMU GY-851
Rodas Mecanum1 set
Hub USB 5V1
Sensor Microsoft Kinect1
Trilho Linear V-Slot (OpenBuilds)2
Placas Gantry V-Slot (OpenBuilds)1
Kit Roda V Sólida (OpenBuilds)4
Fuso Trapezoidal Acme 0,8 m1
Acoplador Eixo 6mm a 8mm1
Suporte Rolamento 8mm1
Fio de Mola 1,2 m1
Fim de Curso (Limit Switch)1
BEC 5V1
Conversor DC-DC Variável2
Bateria Recarregável 12V 5000 mAh1

Aplicativos e Serviços Online

Sobre o Projeto

1. Introdução

Robô Assistente Doméstico Autônomo: Lista Completa de Peças e Guia de Configuração
Robô Assistente Doméstico Autônomo: Lista Completa de Peças e Guia de Configuração

Conheça o O'nine! Um companheiro robótico doméstico pessoal que se move, pega objetos e cuida da casa. Graças à Alexa, o O'nine ouve você e executa tarefas programadas, como alimentar seus peixes.

Este projeto estende as capacidades da Alexa fornecendo uma plataforma robótica escalável e aberta para tarefas dinâmicas em casa inteligente. Soluções atuais exigem rigs personalizados para funções específicas. O O'nine visa preencher essa lacuna, minimizando hardware e usando robótica como alternativa. A ideia é criar uma plataforma de prova de tecnologia para testar a viabilidade de robôs como componente de automação residencial.

Vídeo do O'nine alimentando peixes (Time-Lapse e versão completa).

Quer verificar o bebê ou quem está na porta? O'nine tem câmera embutida para tirar fotos.

Este tutorial ensina como construir o robô e criar uma Alexa Skill para comandar tarefas autônomas.

2. Arquitetura de Alto Nível

Robô Assistente Doméstico Autônomo: Lista Completa de Peças e Guia de Configuração

Resumo da integração O'nine-Alexa:

  1. Amazon Echo Dot escuta comando de voz.
  2. Custom Alexa Skill detecta Intenção.
  3. AWS Lambda recebe requisição e publica no broker MQTT PubNub.
  4. O'nine recebe dados assinando o broker MQTT.
  5. O'nine executa tarefa requerida autonomamente.

3. Hardware

3.1 Base do Robô

Robô Assistente Doméstico Autônomo: Lista Completa de Peças e Guia de Configuração

O circuito traduz comandos de velocidade da ROS Navigation Stack em movimentos dos motores. Firmware inclui controlador PID para manter velocidade usando feedback dos encoders.

Robô Assistente Doméstico Autônomo: Lista Completa de Peças e Guia de Configuração

Chassi é uma lata de papel A4 reciclada. Pode usar caixa plástica velha.

Veja meu projeto Linorobot para tutorial completo de robôs DIY compatíveis com ROS.

3.2 Circuito de Elevação Vertical (Braço Pai)

Robô Assistente Doméstico Autônomo: Lista Completa de Peças e Guia de Configuração

Controla elevação vertical do braço, traduzindo altura requerida pelo MoveIt em passos do motor de passo. Sistema open-loop calcula altura atual correlacionando passos em milímetros. O microcontrolador também repassa dados do MoveIt para o braço robótico montado na plataforma móvel.

Robô Assistente Doméstico Autônomo: Lista Completa de Peças e Guia de Configuração

Cabo espiral abriga fios Tx/Rx para comunicação serial entre circuito de elevação e controlador do braço, e alimentação +12V DC para o braço.

3.3 Controlador do Braço Robótico (Braço Filho)

Robô Assistente Doméstico Autônomo: Lista Completa de Peças e Guia de Configuração

Comunica-se com o braço pai via serial. Recebe array de ângulos requeridos para cada junta e atua nos servomotores.

Robô Assistente Doméstico Autônomo: Lista Completa de Peças e Guia de Configuração

3.4 Integração de Todos os Circuitos

Robô Assistente Doméstico Autônomo: Lista Completa de Peças e Guia de Configuração

Diagrama mostra como conectar todos os circuitos e alimentar cada um.

4. Software

Requer duas máquinas Linux (Ubuntu 14.04 ou 16.04): uma para desenvolvimento (MoveIt, Rviz) e outra (ARM board) para navegação do robô e drivers de hardware/sensores.

Placas ROS suportadas: aqui (preferencialmente 2GB RAM).

4.1 Instalação ROS

git clone https://github.com/linorobot/rosme
cd rosme
./install

Instalador detecta OS e arquitetura automaticamente.

4.2 Instalação de Pacotes ROS

4.2.1 Máquina de desenvolvimento:

cd ~/catkin_ws/src
git clone https://github.com/linorobot/lino_pid
git clone https://github.com/linorobot/lino_msgs
git clone https://github.com/linorobot/lino_visualize
cd .. && catkin_make

4.2.2 Computador do robô (base):

git clone https://github.com/linorobot/lino_install
cd lino_install
./install mecanum kinect

Instala firmware da base, software de navegação, drivers de hardware/sensores.

4.2.3 Pacote O'nine (em ambas máquinas):

cd
git clone https://github.com/grassjelly/onine_install
cd onine_install
./install

Instala firmware do braço, solucionador de cinemática, tarefas autônomas do O'nine.

4.2.4 Alexa Tasker:

cd ~/onine_ws/src
git clone https://github.com/grassjelly/onine_alexa
cd ..
catkin_make

Baixa cliente MQTT que liga O'nine e Alexa. Contém app NodeJS para zip e upload no AWS Lambda.

5. Configuração do Software

5.1 Configurando Alexa Skill

Passos detalhados: criar conta desenvolvedor Alexa, criar Skill, modelo de interação personalizado, schema JSON e utterances do GitHub, configurar ARN do Lambda, testar.

5.2 Configurando Lambda Function

Criar conta AWS Lambda, criar função NodeJS 4.3, role lambda_basic_execution, adicionar trigger Alexa Skills Kit, inserir Skill ID, fazer upload do zip gerado com npm install && ./zipme no diretório lambda/app.

5.3 Criando Conta PubNub

Criar conta, novo App, registrar chaves publish/subscribe, inserir no código.

5.4 Notificações Pushover

O'nine usa Pushover para enviar fotos ao celular. Criar conta, app, registrar user key e API token, inserir no script 'snaptask'.

5.5 Instalando Firmwares

5.5.1 Regras uDev: Executar rosrun lino_udev lino_udev.py, plugar Teensy da base → nome "linobase", Teensy da elevação → "oninearm". Salvar (CTRL+C), copiar para /etc/udev/rules.d/58-lino.rules, reiniciar udev, confirmar com ls /dev/linobase e ls /dev/oninearm.

5.5.2 Firmware base do robô: Configurar especificações (diâmetro roda, PPR encoder, etc.), plugar Teensy, roscd linorobot/firmware/teensy && platformio run --target upload.

5.5.3 Firmware elevação vertical: cd ... && platformio run --target upload.

5.5.4 Firmware controlador do braço: Plugar Arduino Uno, platformio run --target upload. Desplugue após upload (dados passam pelo Teensy da elevação).

5.6 Editando Códigos Linorobot

Modificar bringup.launch para adicionar nó serial para elevação e URDF do O'nine. Ajustar frame de referência de base_link para base_footprint em vários arquivos. Recompilar: cd ~/linorobot_ws && catkin_make.

5.7 Configurando Detector de Objetos

O'nine usa AR tags para distinguir objetos em tarefas pick-and-place. Imprima a tag (2cm x 2cm) e cole no objeto. Percepção via ar_track_alvar. Alternativas: find_object_2d, tabletop_object_detector.

6. Rodando a Demonstração

Configure rede ROS antes de iniciar.

6.1 Criando o Mapa

No computador do robô: roslaunch linorobot bringup.launch e roslaunch linorobot slam.launch.
No computador de desenvolvimento: rosrun teleop_twist_keyboard teleop_twist_keyboard.py e roscd lino_visualize/rviz && rviz -d slam.rviz.
Dirija o robô pela área a mapear. Salve mapa: rosrun map_server map_saver -f ~/linorobot_ws/src/linorobot/maps/map. Altere navigate.launch para carregar map.yaml.

6.2 Obtendo Coordenadas de Objetivo

SSH no robô, rode bringup.launch e navigate.launch. No PC dev: rviz -d navigate.rviz e rostopic echo move_base_simple/goal. No Rviz, clique no ponto ~1m do local da tarefa e arraste para orientação. Copie coordenadas e edite onine/onine_apps/scripts/fishtask.py.

6.3 Rodando O'nine

  1. PC dev: roscore
  2. 3 terminais SSH no robô: roslaunch linorobot bringup.launch, roslaunch linorobot navigate.launch, roslaunch onine_apps ar_tracker.launch
  3. PC dev: roslaunch onine_moveit_config demo.launch (MoveIt + Rviz)
  4. PC dev: rosrun onine_alexa alexa_tasker.py (cliente PubNub)
  5. No Rviz: clique "2D Pose Estimate", clique local aproximado do robô e arraste para heading atual.
  6. Pronto! Comande a Alexa para pedir tarefas ao O'nine.

7. Trabalhos Futuros

Código e Repositórios

Esquemáticos

Robô Assistente Doméstico Autônomo: Lista Completa de Peças e Guia de Configuração
Robô Assistente Doméstico Autônomo: Lista Completa de Peças e Guia de Configuração
Robô Assistente Doméstico Autônomo: Lista Completa de Peças e Guia de Configuração
Robô Assistente Doméstico Autônomo: Lista Completa de Peças e Guia de Configuração

Processo de manufatura

  1. Construa um Robô Raspberry Pi Controlado por Bluetooth com Feedback de Áudio
  2. JQR Quadrúpede Autônomo: Robô de Pernas DIY para Navegação e Resgate Autônomos
  3. Simple Pi Robot – Construa Rover Autônomo 2-WD com Raspberry Pi
  4. Construa Sua Própria Máquina de Escrever Deveres de Casa (Plotter de Caneta) em Casa
  5. Robô Desviador de Obstáculos com Servo: Construa com Arduino e HC-SR04
  6. Criar Robô Seguidor de Linha Autônomo com Arduino UNO
  7. Construa um Robô Controlado por Voz com Arduino Nano
  8. Kit de Treinamento Arduino Completo com Mega 2560, Sensores, Motores e PCB Personalizada
  9. Braço Robótico Arduino Controlado por Gestos Manuais – Construção Passo a Passo
  10. Kit de Robô de Navegação Interna Inteligente para Projetos Arduino