Em continuação ao estudo da manipulação autônoma, realizamos os experimentos envolvendo os planejadores de trajetória e os solucionadores de cinemática utilizando o manipulador UR5 da Universal Robots. Nestes testes iniciais foram avaliados o desempenho do conjunto planejador e solucionador considerando a base do manipulador fixa e um ambiente estático, primeiramente em simulação e em seguida em um ambiente real.
Os planejadores estudados foram o RRT-Connect, RRT-Star e o BiTRRT, já os solucionadores foram IKFast (Inverse Kinematics Fast), KDL (Kinematics and Dynamics library) e o LMA (Levenberg-Marquardt). Foram escolhidos três movimentos que se aproximassem de tarefas reais aplicadas na indústria: movimento na vertical simulando a ação de apertar um botão, movimento na horizontal similar à limpeza de uma superfície e um movimento semicircular similar à inspeção ou limpeza de um tubo.



O objetivo era encontrar os tempos de planejamento e execução para cada movimento, logo serão analisadas quatro variáveis de saída: tempo de execução do movimento, tempo de retorno à posição home, tempo de planejamento do movimento e tempo de planejamento para retorno à posição home.
Preparação do sistema
Para realizar a movimentação do manipulador UR5 utilizamos o Ubuntu 20.04, que foi instalado em um computador Intel NUC 8i7BEH1, também foram utilizados o framework ROS na versão Noetic, o Gazebo e MoveIt. Além destes, foram utilizados outros algoritmos existentes nestes frameworks e softwares.
Os planejadores, disponíveis no MoveIt através da biblioteca OMPL, são utilizados na criação de uma trajetória para o manipulador dada uma pose de interesse, já os algoritmos solucionadores são usados na solução da cinemática inversa necessária para a movimentação do manipulador. As trajetórias desejadas para o manipulador, isto é, o conjunto de posições de cada uma das suas juntas no tempo, são enviadas como entrada nos controladores gerados pelo pacote ROS Control, responsável pela geração dos sinais de controle e envio aos atuadores durante a simulação.
Para a conexão entre o ROS e o manipulador UR5 foi utilizado o driver ur_modern_driver. Este driver foi descontinuado e foi desenvolvido para o ROS na versão Kinetic, mas atualmente é o único driver compatível com os manipuladores UR5 da linha CB2 series.
Hands on
Para tornar possível a utilização do manipulador real, inicialmente utilizamos a simulação para testar as movimentações, planejadores e solucionadores. Esses testes possibilitaram criar funções de movimentação válidas e verificar o funcionamento dos algorítmos. Durante estes testes, verificamos que o IKFast apresentava alguns problemas na sua execução. O algoritmo não funcionou em todos os testes, pois algumas vezes apresentava um erro no envio de velocidade para juntas.

Foi definida uma posição de partida, home, e em seguida as trajetórias foram enviadas como um vetor de posições no espaço cartesiano, ao final da trajetória o manipulador retorna a home através de comando de posição de juntas.
Após a simulação, o mesmo foi feito com o manipulador real, ao total foram realizados 54 experimentos na simulação e 54 experimentos no ambiente físico.
Autor
![]() |
|
---|---|
Brenda Alencar | |
Estagiária no CC RoSA, graduanda em Eng. Elétrica. Participou de projetos de Robótica Subaquática e Manipuladores Subaquáticos |