Autor: Allan Almeida
Este projeto implementa uma aplicação pick and place com o manipulador robótico UR5e no Webots.
A cinemática direta e a inversa, bem como todas as funções de controle, são implementadas em Python. O robô é controlado enviando velocidades para as juntas usando uma trajetória polinomial de quinta ordem. O robô é capaz de pegar uma garrafa de uma mesa e colocá-la em outra mesa (e também dar um gole para o manequim 😁 🍺).
A parte de visão computacional do projeto é implementada utilizando uma CNN (rede neural convolucional). A CNN é treinada para detectar a posição da garrafa na imagem. A rede é implementada em Tensorflow e Keras, e utiliza um modelo pré-treinado VGG16 como base. A rede é modificada para prever a posição da garrafa em relação à imagem e convertê-la para as coordenadas reais XYZ usando interpolação bilinear. Ela é treinada e avaliada em um conjunto de dados de 5000 imagens.
- Webots
- Python >= 3.6
- Jupyter Notebook (Anaconda ou pip)
- Abra o Webots e carregue o mundo
my_first_simulation.wbt
. Alternativamente, você pode abrir o Webots e carregar o mundo apenas executando o shell script:./launch.sh
- Crie um ambiente virtual python e instale as dependências do arquivo
requirements.txt
python3 -m venv venv source venv/bin/activate pip install -r requirements.txt
- Abra o notebook Jupyter
Trabalho.ipynb
e execute a primeira célula para importar as dependências e iniciar a simulação - Execute as demais células, uma a uma, para ver o robô em ação
- Você pode usar as funções do arquivo
ur5.py
para controlar o robô e executar outras tarefas que desejar
Se divirta! ✨ 🤖