AcutronicRobotics / MARA_ROS1

ROS 1.0 integration for MARA research edition
https://acutronicrobotics.com/products/mara/
6 stars 3 forks source link

Robotiq gripper joints do not move as expected in Rviz #7

Closed planetceres closed 5 years ago

planetceres commented 5 years ago

Using test_mara_model.launch to launch RViz and the joint state publisher, the joints of the gripper do not move in a coordinated manner as shown in the screenshots below.

mara_00 mara_01 mara_03

How can the Robotiq gripper be properly used in simulation so that all joints move together and do not become detached from one another?

vmayoral commented 5 years ago

Thanks for reporting @planetceres, let us have a look and get back to you.

vmayoral commented 5 years ago

@ahcorde, maybe worth reviewing if this also applies to https://github.com/AcutronicRobotics/MARA in ROS 2?

ahcorde commented 5 years ago

This gripper has a parallel mechanism. URDFs are not friends of this kind of circular link connections. Each finger is a circular link.

I have to use a trick, the URDF only contain 3 joints, but in Gazebo cointains the 4 joints. Because I use the tag gazebo.

In ROS 2.0 for sure is happening the same thing. because URDF are pretty similar. the main differences are the plugins that the robot make use (ROS or ROS 2.0)

It's a problem of the URDF library. Not allowing to create circular link connections.

Maybe I can fix this using the tag mimic

ahcorde commented 5 years ago

I have updated the URDFs. Now it's working. I will updated the rest of the things right away.

finger_joint

vmayoral commented 5 years ago

Thanks @ahcorde, please close it when you're done.

ahcorde commented 5 years ago

ROS 1

hande robotiq85

ROS 2.0 and rviz2

rviz2_ros2_service

planetceres commented 5 years ago

Thanks for correcting this so quickly. However, after the update, the xacro XML will not load properly:

XML parsing error: mismatched tag: line 380, column 4
when processing file: /workspace/install_isolated/share/robotiq_140_gripper_description/urdf/robotiq_140.urdf.xacro
included from: /workspace/install_isolated/share/mara_description/urdf/mara_robot_gripper_140.urdf.xacro

Check that:
 - Your XML is well-formed
 - You have the xacro xmlns declaration: xmlns:xacro="http://www.ros.org/wiki/xacro"
Invalid <param> tag: Cannot load command parameter [robot_description]: command [/opt/ros/kinetic/lib/xacro/xacro --inorder /workspace/install_isolated/share/mara_description/urdf/mara_robot_gripper_140.urdf.xacro] returned with code [2]. 

The issue persists on both ROS Melodic and Kinetic.

ahcorde commented 5 years ago

which command are you launching in the terminal?

I will try to reproduce it

planetceres commented 5 years ago

roslaunch mara_description test_mara_model.launch

ahcorde commented 5 years ago

Solved:

you can also try with different grippers:

roslaunch mara_description test_mara_model.launch gripper:=140
roslaunch mara_description test_mara_model.launch gripper:=85
roslaunch mara_description test_mara_model.launch gripper:=hande