gavanderhoorn / fanuc_driver_exp

An alternative - experimental - Fanuc robot driver for ROS-Industrial
Apache License 2.0
29 stars 17 forks source link

Joint state reporting as a background task #14

Closed marip8 closed 5 years ago

marip8 commented 5 years ago

Is it possible to run the joint state reporting element of this driver as a background task on the controller such that I can also run other PNS programs without stopping the ROS program? I have a use case where I am doing motion planning in ROS, but uploading LS programs that execute the ROS-generated motion plans and trigger I/O. I need to have joint state feedback all the time for collision monitoring, regardless of what program is running

gavanderhoorn commented 5 years ago

There are two Karel programs that make up the driver: ros_state and ros_traj. ros_state broadcasts robot state, which is received by robot_state in fanuc_driver (fanuc_driver_exp only replaces the on-controller part of the driver) and then transformed into the appropriate ROS messages.

You should be able to use the same mechanisms / infrastructure with ros_state as with any other Karel program you'd want to run in the background. It does nothing special.

gavanderhoorn commented 5 years ago

Related: ros-industrial/fanuc#225 and #2.

gavanderhoorn commented 5 years ago

Btw @marip8: is this a recent controller (ie: R-30iB+)? If so, if you can send me an email I might have another option that would not need any additional Karel programs on the controller.

gavanderhoorn commented 5 years ago

@marip8 and his integrator built a version for V9.10 which solved their immediate needs.