ros-industrial / fanuc

ROS-Industrial Fanuc support (http://wiki.ros.org/fanuc)
Other
155 stars 109 forks source link

ROS Driver on Fanuc R-J3iB? #325

Closed marabount closed 3 years ago

marabount commented 3 years ago

Hello,

I would like to test the ROS driver on the Fanuc M6iB robot with an older R-j3iB controller. Some relevant information about the controller:

Core software version: Handling Tool 6.4 Socket Messaging (SKMG), includes MSG_CONNECT, MSG_DISCO and MSG_PING: Installed PC Interface (PCIF): Installed KAREL (KARL): Installed (not sure about the version, but I can check) ASCII Upload (ASBN): Installed. Is it possible to tweak the ROS driver and recompile it for R-j3iB? Maybe somebody has tried this already and can help.

Regards, Alex

gavanderhoorn commented 3 years ago

NOTE: be careful when trying out the branch I link to below.

Even though I've not had any reports about problems with it, and I've tested it in Roboguide, this was all back in 2015. The code looks sane enough, but as always with industrial robots, be sure to test it while observing all safety requirements.


Original comment: As I replied on your ROS Answers question, we've had some people try to use fanuc_driver on R-J3iB and older.

The changes I made are still available here: https://github.com/ros-industrial/fanuc/compare/melodic-devel...gavanderhoorn:v611_karel_moveto.

That's for V6.11 specifically, so it could be that V6.40 doesn't need all of those, but this might form a good starting point.

Biggest differences with HEAD:

My recommendation would be to start with the state relay side: compile all the Karel programs and see whether the socket infrastructure works correctly in that. If you get no complaints (ie: Karel errors) try to use the robot_state_visualize_m6ib.launch file to check whether what RViz shows corresponds to your real robot.

Also check the output of rostopic echo -c /robot_status. It should update properly according to the state of the R-J3iB (ie: e-stop, errors, drives powered, etc).

If that all works, there is a reasonable expectation the trajectory relay could work as well.

NOTE: make sure your controller only has a single motion group configured/active. Fanuc has been advising against using MOVE TO for years, and warning against using it on controllers with multiple motion groups. The branch I link to does use MOVE TO, so to avoid any surprises, only use it with controllers with a single motion group.

gavanderhoorn commented 3 years ago

Reason to check state reporting first is also to make sure #105 isn't actually an issue on your controller.

RViz would not be able to correctly visualise your robot if there is a problem with the deg -> rad conversion.

gavanderhoorn commented 3 years ago

@marabount: have you been able to test the branch I mentioned?

gavanderhoorn commented 3 years ago

As this is not really an issue with the packages in this repository (yet), I'm going to convert this to a discussion.

We can open new issues if/when the need arises.