On 5-7-2016 17:34,
walter...@gmail.com wrote:
> Hi guys,
Hi Walter,
> I am a new guy using ROS-I and I only have managed to use Fanuc robots in
> simple joint motions.
>
> I am curious as I want to explore more and more ROS-I capabilities and I am
> fortunate to have to equipment to experiment more.
>
> May I know if anyone has explored with industrial force sensors mounted in
> the flange of industrial robots??? I have a FS-15iA force sensor.
There are two sides to this:
1. getting the data from the ft sensor out of the controller
2. controlling motion based on the ft data
Getting the data out of the controller might be possible. There are no
Karel built-ins added by any of the ft options afaik, but I haven't
checked whether there are any system variables which contain the
required information. If there are, it should be possible.
Controlling the eef based on that data is going to be a problem though:
most ft applications I know would like to have a high-bandwidth, low
latency control interface to whatever is attached to the ft sensor (ie:
the robot eef). The current ros-i fanuc driver does not offer that. It
is rather primitive right now, and could certainly be improved, but I
fear it will not reach the level of control that would allow meaningful
force-torque based work with the current interfaces we have to the Fanuc
motion controller.
If you are not interested in closing the loop with a ROS application,
but would rather en|disable the force schedules on the controller from a
ROS application, that would be possible, but would require some work.
> Also, is it possible to control robot I/Os with ROS??
You have some options here, depending on the platform (and I'll
constrain myself to ros-i robot drivers or related pkgs):
- for motoman: [1] adds initial support for the IO capabilities of
motoman_driver. It's just the simple_message side though, a service
interface to those msgs will have to be added. Note that this is really
intended to be used for occasional toggling of IOs, not for
high-frequency control
- for fanuc: there is work underway to implement [2] for the
fanuc_driver. That would allow control over all IO types the controller
supports (and for which the driver implements the proper primitives),
but is again a software only approach and (in my opinion) just to
provide a convenient way for users to avoid having to buy any expensive
fieldbus hw if they just want to open and close their gripper
- again for fanuc, and really not meant for production use:
fanuc_ros_cgio_py [3]
- for UR: both ur_driver and ur_modern_driver support setting and
getting the state of the various IOs exposed to/by the UR controller
- fieldbus wrapping ros pkgs, see [4]. Most of these provide just the
interfacing with the hw / vendor drivers, so will require some work, but
would be the most standard approach to this
Personally I'd look into fieldbus wrapping, if you have the hw: it
integrates very well with industrial robot controllers (the
infrastructure and software options are all mature and available, you
don't need to run any additional user programs on the controller and you
can re-use whatever experience / training you already have), and
provided the vendor drivers (for the PC side) are written properly, can
be made to be very robust and performs well.
Gijs
[1]
https://github.com/ros-industrial/motoman/pull/93
[2]
https://github.com/gavanderhoorn/rep-ros-i/blob/rep-xxxx_generic_io/rep-ixxxx.rst
[3]
https://github.com/gavanderhoorn/fanuc_ros_cgio_py
[4]
http://rosindustrial.org/news/2016/2/23/ros-bridges-for-common-field-busses