gavanderhoorn/fanuc_driver_exp

Joint state reporting as a background task

Closed this issue · 4 comments

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

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.

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.

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