epfl-lasa / kuka-lwr-ros

ROS KUKA robot control (simulation & physical)
58 stars 30 forks source link

Generic joint inter #12

Closed gpldecha closed 8 years ago

gpldecha commented 8 years ago

Currently the way in which the hardware interface is written multiple links are needed in the urdf such to be able to control, position, torque, damping and stiffness values.

This means that there is a total of 7 x 4 links in the urdf instead of just 7. This is quite messy.

To resolve this issue it robot specific hardware interface can be written which would allow to control multiple variables per joint. See hardware interface description

In this way we can add and pass any additional information; for instance mass matrix info etc..

I will be finishing and trying this by the end of the week. Just to let some of you know.

felixduvallet commented 8 years ago

@gpldecha What's your take on the kuka-experimental package? https://github.com/ros-industrial/kuka_experimental/blob/hydro-devel/kuka_rsi_hw_interface/include/kuka_rsi_hw_interface/kuka_hardware_interface.h

(I haven't looked into it, I just know it exists)

gpldecha commented 8 years ago

@felixduvallet I did not see that, thanks!

In the guys code (hardware interface): https://github.com/ros-industrial/kuka_experimental/blob/hydro-devel/kuka_rsi_hw_interface/include/kuka_rsi_hw_interface/kuka_hardware_interface.h

He is basically doing something very similar to what I just started to write: https://github.com/epfl-lasa/kuka-lwr-ros/blob/generic_joint_inter/kuka_lwr/lwr_hw/include/lwr_hw/lwr_kuka_interface.h

He is KUKA specific hardware interface which still use the standard jointPositionInterface, which is necessary if we want to keep moveit, and over ros control methodologies to work out of the box.

I will look at what he does and either use the same hardware interface (I am note familiar yet with the difference of ROS industrial with ROS. I will have a look at ROS industrial, it looks like a must have).

P.S looks like they have an automatic calibration, do you have a student working on something similar ?

gpldecha commented 8 years ago

@felixduvallet , @KlasKronander , @jrmout

I have added a new hardware interface, specifically for the KUKA and tried it out with the lwr_simple example. Everything seems to work fine.

@jrmout now it is very easy to pass information from hardware abstraction to the actual kuka controllers.

felixduvallet commented 8 years ago

Nice @gpldecha !

I am not in favor of multiple active branches. It just gets messy and overly complicated very quickly.

If you want to remember this change, I suggest you use a tag.