Week 8

Servidor de ações para modos de funcionamento && Inicio do Modo3: Orientação da plataforma para picking

Posted by Tiago Tavares on April 11, 2019

Decidiu-se que o Robonuc iria ter 4 modos de funcionamento: Modo 0 para o modo off; Modo 1 para Navegação (manipulador recolhido); Modo 2 para aproximação “automatica” da mesa para executar o Bin-Picking; Modo 3 para orientação da plataforma móvel face à bancada ; Modo 4 para iniciar o Bin-Picking. Para implementar esses modos, foi necessário criar um servidor de ações, em que dependendo do “goal” pedido pelo cliente, o servidor executa movimentos do manipulador Fanuc para posições predefinidas em cada modo. Depois de algumas tentativas de implementação das funções do Moveit em c++, achou-se por bem utilizar essas mesmas funções em python. Deste modo, o próprio servidor de ações teria, também, de ser em python. A dificuldade de implementação de ações, com o uso de uma nova linguagem dificultou um pouco esse processo. Após este servidor estar funcional, foi necessario alterar o nó “integrated_referee” para este ser um cliente de ações, e assim comutar o estado do manipulador consoante a tarefa necessária.

Deste modo a partir do momento em que o tele operador pressiona a tecla A, o ROBONUC procura uma superfície com base no laser 1D localizado na sua junta 6. Após essa deteção posiciona-se de modo automático para posterior correção da orientação da plataforma face a mesa. Este processo pode ser visualizado no seguinte vídeo:

Assim sendo, iniciei um nova etapa do projeto: correção da orientação da plataforma usando a câmara e um aruco. Para melhor perceção apresenta-se a seguinte seguinte imagem do estado atual do projeto:

Como se pode ver na imagem, é apresentado um referencial no aruco detetado pela kinect, e processado por um package especifico “fiducials”. Neste momento iniciei uma nova ação, de modo a executar este processo de correção de orientação para posterior execução do Bin-Picking.