EEZYbotARM MK1 ROS moveit

 

Com base no ficheiro URDF que descreve o braço eezybotarm mk1 feito é altura de tentar usar o ROS moveit.

O procedimento descrito abaixo foi efectuado de acordo com as indicações disponiveis em:

  • http://docs.ros.org/melodic/api/moveit_tutorials/html/doc/setup_assistant/setup_assistant_tutorial.html

No caso de estar a usar o ROS kinetic as indicações estão disponiveis em:

  • http://docs.ros.org/kinetic/api/moveit_tutorials/html/doc/setup_assistant/setup_assistant_tutorial.html

Efectuei vários testes com dois ficheiros URDF diferentes. Um com garra, e outro sem a garra. No processo descrito abaixo, a versão sem garra tem apenas o planning group Arm, com os links de 1 a 3, e não tem o End Efector.

O moveit setup assistant permite criar um pacote do ROS para usar um braço robótico com o Moveit.

O processo começa na execução do Moveit setup assistant com o seguinte comando:

roslaunch moveit_setup_assistant setup_assistant.launch

Escolher criar uma nova configuração para o moveit

Escolher o ficheiro URDF que descreve o braço eezyBotArm MK1 e enviar;

Clicar em Self Colisions

Clicar em Generate Colision Matrix;

Clicar em Virtual Joints

Clicar em Add Virtual Joint;

No joint name colocar “virtual_joint”;

No child link selecionar “base_link”;

No parent frame name colocar “world”;

No Joint Type selecionar “fixed”;

Clicar em Save;

Clicar em Planning Groups

Criar dois grupos. Um para o braço e outro para a garra.

Clicar em Add Group;

No group name colocar: Arm;

No kinematic solver seleccionar: kdl_kinematics_plugin/KDLKinematicPlugin;

Manter Kin. Search Resolution e  Kin. Search Timeout nos valores pré-definidos;

Clicar em Add Joints;

Do lado esquerdo selecionar: Joint_1, Joint_2, Joint_3 e Joint_4 e mover para o lado direito;

Clicar em Save;

Clicar em Add Group;

No group name colocar: Hand;

Não selecionar nada no kinematic solver;

Manter Kin. Search Resolution e  Kin. Search Timeout nos valores pré-definidos;

Clicar em Add Joints;

Do lado esquerdo selecionar: Joint_5 e mover para o lado direito;

Clicar em Save;

Clicar em Robot Poses

Clicar em Add pose

Em pose name colocar: Start

Definir os valores apropriados para Joint_1, Joint_2, Joint_3 e Joint_4;

Clicar em Save

Clicar em End Efector

Em End Efector Name colocar: Hand

No End Efector Group selecionar: Hand

No Parent Link selecionar: Joint_4

Clicar em Author Information

Definir o nome e o email do autor

Clicar em Configuration Files

Escolher o Configuration Package Save Path

Clicar em Browse,

No selector de pastas que se abre, clicar no icone para criar uma nova pasta, e atribuir-lhe o nome: ebamk1_movit_config

Clicar em Generate Package

No final, para sair, clicar em Exit Setup Assistant

De fora desta preparação ficaram as seguintes áreas.

  • Passive Joints
  • ROS Control
  • Simulation
  • 3D perception

 

Para visualizar o resultado no rviz usa-se o seguinte comando:

roslaunch ebamk1_moveit_config demo.launch

Durante a processo de aprendizagem fiz vários testes, e acabei por conservar também o primeiro teste ebamk1t1_moveit_config.