Índice:
- Suprimentos
- Etapa 1: montagem móvel
- Etapa 2: Raspbian
- Etapa 3: OpenVino
- Etapa 4: Baixe o código
- Etapa 5: FollowMe (Python)
- Etapa 6: Baixe os modelos
- Etapa 7: Arduino
- Etapa 8: GUI
- Etapa 9: Serviço
- Etapa 10: É isso! Divirta-se
Vídeo: MyPetBot (um bot que segue você): 10 etapas (com imagens)
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:35
Ai é uma das mais belas aplicações da matemática. É basicamente um monte de operações de matrizes otimizadas para corresponder ao resultado que você está procurando. Felizmente, existem toneladas de ferramentas de código aberto que nos permitem fazer uso delas.
Eu originalmente tive a ideia há muito tempo, quando estava trabalhando em uma cachoeira desativada pelas pessoas que passavam por ali. Eu estava usando sensores de ultrassom e descobri tarde demais que eles não funcionam muito bem quando estão molhados … Não foi uma experiência divertida. Acabamos usando um botão grande que as pessoas pressionariam se quisessem passar. Ficou tudo bem porque estava calor e as pessoas adoravam se molhar, mas o problema ficou na minha cabeça … Como detectar pessoas e ativar uma reação.
Estou contando essa história porque quero salientar que esse princípio pode ser usado para muitas outras aplicações! Seguir seu rosto com um brinquedo é apenas uma delas. Para instalações interativas, você pode fazer qualquer tipo de coisa. Você pode usar um modelo para detectar se um rosto está sorrindo. Você poderia contar o número de cães em um parque. Você pode fechar suas cortinas quando as pessoas estiverem passando. Ou… faça um controlador para sua base nintendo na posição do seu corpo…. Você pode baixar muitos outros modelos Ai que fazem qualquer tipo de coisa.
Existem alguns tutoriais sobre como fazer a inferência de Ai funcionar com o raspberry pi. Estou aqui para lhe ensinar como fazer a integração do orifício em uma unidade autônoma. Assim que seu robô inicializar, ele iniciará os programas necessários.
Suprimentos
- Robô paralaxe: escolhi este robô porque o tinha por perto, mas qualquer robô que possa ser controlado com um arduino fará o trabalho.
- Framboesa pi: Recomendo pelo menos o framboesa pi 3B +.
- Intel Neural Stick: A taxa de inferência vai de um por segundo a 8. Você realmente precisa de um se quiser fazer Ai em um pi framboesa.
- Banco de energia: maneira mais fácil de gerenciar a energia. Funciona com a framboesa pi 3B +, você pode querer verificar se funciona com a pi 4.
- Picamera: Gosto de usar a picamera em vez de um usb.
Etapa 1: montagem móvel
O objetivo do tutorial é principalmente sobre o software, então não quero entrar muito em detalhes sobre o rover. Ele funciona com este robô, mas poderia funcionar realmente com qualquer outro hardware. Nem precisa ser para um rover, você pode usar isso para uma câmera com sensor de movimento.
- Encontre um veículo controlado pelo Arduino.
- Aperte bem um banco de energia para ele.
- Enrole um pi de framboesa nele.
- Cole a picamera com um leve ângulo em direção ao topo.
- Conecte tudo junto.
- Voila!
Etapa 2: Raspbian
Estou usando um pi de framboesa, mas não há motivo para não usar outro linux … depende de você. Eu poderia liberar uma imagem plug and play para queimar um cartão SD, irei fazer isso se houver pessoas suficientes interessadas.
Instale o Raspbian: Você pode instalar o Raspbian Buster Lite. Não vamos usar o desktop… Apenas a conexão SSH Secure Shell.
Conecte ao seu Pi: Primeiro você pode se conectar ao seu raspberry pi com uma conexão Ethernet
Configure seu wi-fi: agora você pode configurar sua conexão sem fio
Etapa 3: OpenVino
OpenVino é uma ótima biblioteca com suporte da Intel. Eles fizeram um ótimo trabalho na compilação de modelos de exemplo e tornaram a maior parte do framework ai compatível. Você precisa desta biblioteca para o Intel Neural Stick.
Instalação do Python3: você precisa instalar o Python 3.
Instalação do OpenVino: Uma vez feito isso, você verá uma linha "[setupvars.sh] OpenVINO environment initialized" toda vez que você se conectar ao raspberry pi.
OpenVino é uma extensão do opencv. Para testá-lo, você pode iniciar o python3 e importar o cv2.
digite no shell:
python3
digite em python:
- import cv2
- cv2._ version_
A última linha deve retornar '4.1.2-openvino' ou qualquer versão do openvino. se disser opencv sua instalação não funcionou …
Etapa 4: Baixe o código
Primeiro, instalamos o git. Digite no shell:
sudo apt-get install git
Em seguida, podemos mover para a pasta Documentos e baixar o código:
- cd ~ / Documentos /
- git clone
Etapa 5: FollowMe (Python)
Esta é a parte com a qual você quer jogar. Faça se seguir você! Faça com que tenha medo de você! Siga seu cachorro! Faça com que ele reconheça expressões faciais !! Harase seu gato !!! O que você quiser.
Você encontrará quatro pastas principais: Arduino, Deployment, Player e FollowMe:
Arduino: Mais sobre isso na próxima seção
Implantação: aqui é onde coloco a interface do usuário. Agora mesmo eu codifiquei um botão start / stop simples e um pequeno visualizador de câmera com controle apenas para diversão.
Player: Destinado a ser usado em seu PC de mesa. Por revisar a saída do bot!
FollowMe: o módulo que faz a verdadeira diversão
Vou colocar mais detalhes no github, para ter apenas um lugar para atualizar. Este é o lugar para o código
Etapa 6: Baixe os modelos
Os modelos para inferência não estão incluídos no código, pois são muito grandes. Mas você pode encontrar muitos exemplos usando o modelo Zoo OpenVino
Você pode usar o downloader do modelo ou ir diretamente através deste link. No meu caso, não consegui usar o downloader de modelos da minha instalação do raspberry pi …
Em seguida, copie o modelo em uma pasta chamada Modelos com:
- cd ~ / Documentos / FollowMe
- Modelos mkdir
- modelos de cd
- wget
- wget
Você sempre precisa do.xml e do.bin.
Você pode baixar o modelo que quiser … Mas você terá que alterar o código. Divirta-se!
Etapa 7: Arduino
Conseguimos fazer o download do código na etapa anterior. O código do arduino está nele!
O código destina-se a acionar dois servos contínuos, se você escolher uma configuração diferente, terá que modificar o código.
Basicamente, ele faz duas coisas. Ele se comunica com o computador e ativa os servos na velocidade selecionada.
Eu poderia usar a saída do raspberry pi diretamente para controlar os motores… mas os arduinos funcionam melhor (eles têm um gerador de frequência real). Além disso, eu queria descarregar o pi de framboesa o máximo possível para tornar a inferência mais rápida.
Etapa 8: GUI
Nada extravagante … ainda. Posso adicionar outras coisas, como visualização ao vivo ou controles de movimento. Mas, enquanto isso, um simples início e parada resolverá o problema.
Se você quiser testá-lo, você deve iniciá-lo a partir do diretório FollowMe Level e, em seguida, chamá-lo de python3:
- cd ~ / Documentos / FollowMe
- python3 Deployment / FollowMe.py
Em seguida, você pode acessar a interface em seu navegador digitando:
192.168.0.113:8000
com o endereço IP correto, é claro.
Há também um visualizador de vídeo com controles … mas não com inferência de trabalho
python3 Deployment / StreamVideo.py
Etapa 9: Serviço
É isso que faz o Rover funcionar sozinho. Um serviço é um programa executado em segundo plano no computador, sem um usuário. Certifique-se de que TODOS OS SEUS CAMINHOS sejam absolutos e de que você tenha os direitos corretos se usar qualquer arquivo e o serviço funcionará bem.
Para executar um script Python como um serviço, você precisa fazer referência ao script em um arquivo de serviço. O arquivo de serviço está no código baixado do git na pasta Deployment. O nome é FollowMe.service.
Para copiá-lo, digite o seguinte no shell:
sudo cp ~ / Documents / FollowMe / Deployment / FollowMe.service / etc / systemd / system /
Primeira vez que você copia o arquivo, você precisa atualizar systemctl… ou reiniciar:
sudo systemctl daemon-reload
E para começar:
sudo systemctl start FollowMe
Você também pode usar os comandos parar, habilitar e desabilitar. Os dois últimos são para uma mudança persistente de estado.
Pequena explicação….
O Openvino precisa de alguns caminhos extras nas variáveis do sistema para funcionar. Infelizmente, a instalação normal não funcionará como um serviço. Portanto, você precisa deste arquivo para definir as variáveis.
Observe que minha instalação é para python 3.7, portanto, há uma variável que você pode precisar ajustar … Boa sorte!
Este arquivo faz referência ao script Python no caminho absoluto:
/home/pi/Documents/FollowMe/Deployment/FollowMe.py
Etapa 10: É isso! Divirta-se
Comentários? sempre bem-vindo
Recomendado:
Arduino - Robô de solução de labirinto (MicroMouse) Robô que segue a parede: 6 etapas (com imagens)
Arduino | Maze Solving Robot (MicroMouse) Wall seguindo Robot: Bem-vindo, sou Isaac e este é meu primeiro robô " Striker v1.0 ". Este robô foi projetado para resolver um labirinto simples. Na competição, tivemos dois labirintos e o robô foi capaz de identificá-los. Quaisquer outras mudanças no labirinto podem exigir uma mudança no
Pessoa que segue o carrinho: 8 etapas
Pessoa que segue o carrinho: os robôs estão recebendo cada vez mais atenção em muitos setores a cada dia. A partir de hoje, os robôs estão assumindo a maioria dos trabalhos triviais onde antes a atenção humana era necessária. Vamos começar com algum simples - um bot que o segue conforme você avança. O
Covid-19 Máscara que grita com você se você tocar seu rosto: 4 etapas
Covid-19 Máscara que grita com você se você tocar seu rosto: Não consegue parar de tocar seu rosto? Cole esses eletrônicos em uma máscara que você tem e você será constantemente lembrado de não fazer isso
Robô que segue o objeto EBot8: 5 etapas (com imagens)
EBot8 Robô Seguidor de Objetos: Você já pensou em fazer um robô que segue aonde quer que você vá? Mas simplesmente não conseguiu? Bem … Agora você pode! Apresentamos o robô que segue o objeto! Vá até este tutorial, curta e vote e talvez você também consiga
Como obter música do site de QUASE ANY (Haha) (Contanto que você possa ouvi-la, você pode obtê-la Ok, tudo bem, se ela estiver incorporada em Flash, talvez você não consiga) EDITADA !!!!! Informações Adicionadas: 4 Passos
Como obter música do site de QUASE ANY (Haha) (Contanto que você possa ouvi-la, você pode obtê-la … Ok, tudo bem, se ela estiver incorporada em Flash, talvez você não consiga) EDITADA !!!!! Informações Adicionadas: se você alguma vez vai a um site e toca uma música que você gosta e quer, então aqui está o instrutivo para você - não é minha culpa se você bagunçar alguma coisa (a única maneira de acontecer é se você começar a deletar coisas sem motivo ) Eu consegui ouvir música para