ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question
0

ROS Fanuc connectivity is not working

asked 2022-07-04 10:58:43 -0500

zahid990170 gravatar image

updated 2022-07-06 09:31:12 -0500

Dear all,

My question concerns about specific details needed so that we can see movements that occur inside ROS/MoveIt/Rviz also in the simulated robot inside Roboguide.

Briefly, I use Ubuntu 18.04.2 LTS bionic and ros-melodic. I have ROS/Moveit respositories for fanuc.

On Windows side, I have installed Roboguide. I have followed this link and this link to make necessary configurations inside Roboguide on the virtual controller. When creating the work-cell, I chose fanuc cr7ial robot model.

On Linux side, specifically, I used fanuc_cr7ial_moveit_config repo.

On the TP, I have started the ROS TPE program. The following message appears:

34161     RSTA Waiting for ROS state prox
34161     RREL Waiting for ROS traj relay

then I run the following on a terminal in ROS pc.

roslaunch fanuc_cr7ial_moveit_config moveit_planning_execution.launch robot_ip:=192.168.0.10 use_bswap:=false

I do not see any message appearing on TP and although no fault / error appears on TP, but there is no communication.

If I jog the robotic arm within Roboguide, I do not see the respective arm in RViz being moved. Also, If I plan and execute something on ROS side, I do not see it on Roboguide.

Please, what can be the cause of this problem.

thanks,

Zahid

Edit

Following suggestions posted by @gvdhoorn,

roslaunch --screen fanuc_cr7ial_moveit_config moveit_planning_execution.launch robot_ip:=192.168.0.10 use_bswap:=false sim:=false

the screen output was the following.

process[joint_state-1]: started with pid [12635]
[ INFO] [1657117743.881851298]: Added message handler for message type: 0
process[motion_streaming_interface-2]: started with pid [12636]
[ INFO] [1657117743.883528553]: Robot state connecting to IP address: '192.168.0.10:11002'
/home/zahid/catkin_ws/devel/lib/fanuc_driver/robot_state: symbol lookup error: /home/zahid/catkin_ws/devel/lib/libindustrial_robot_client.so: undefined symbol: _ZN16industrial_utils5param13getJointNamesENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_RSt6vectorIS6_SaIS6_EE
process[joint_trajectory_action-3]: started with pid [12643]
[ INFO] [1657117743.890495378]: Joint Trajectory Interface connecting to IP address: '192.168.0.10:11000'
/home/zahid/catkin_ws/devel/lib/fanuc_driver/motion_streaming_interface: symbol lookup error: /home/zahid/catkin_ws/devel/lib/libindustrial_robot_client.so: undefined symbol: _ZN16industrial_utils5param13getJointNamesENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_RSt6vectorIS6_SaIS6_EE
process[robot_state_publisher-4]: started with pid [12648]
[ INFO] [1657117743.902072233]: Adding joint_1 to list parameter
[ INFO] [1657117743.902644332]: Adding joint_2 to list parameter
[ INFO] [1657117743.902685828]: Adding joint_3 to list parameter
[ INFO] [1657117743.902716902]: Adding joint_4 to list parameter
[ INFO] [1657117743.902752660]: Adding joint_5 to list parameter
[ INFO] [1657117743.902768290]: Adding joint_6 to list parameter
[ INFO] [1657117743.902854863]: Found user-specified joint names in 'controller_joint_names': [joint_1, joint_2, joint_3, joint_4, joint_5, joint_6]
[ INFO] [1657117743.902900481]: Filtered joint names to 6 joints
process[move_group-5]: started with pid [12654]
[joint_state-1] process has died [pid 12635, exit code 127, cmd /home/zahid/catkin_ws/devel/lib/fanuc_driver/robot_state __name:=joint_state __log:=/home/zahid/.ros/log/1f9cd900-fcfc-11ec-b71a-34e12da72407/joint_state-1.log].
log file: /home/zahid/.ros/log/1f9cd900-fcfc-11ec-b71a-34e12da72407/joint_state-1*.log
process[rviz_zahid_Strix_GL504GM_GL504GM_12595_5571255664066723439-6]: started with pid [12661]
[motion_streaming_interface-2] process has died [pid 12636, exit code 127, cmd /home/zahid/catkin_ws/devel/lib/fanuc_driver/motion_streaming_interface __name:=motion_streaming_interface __log:=/home/zahid/.ros/log/1f9cd900-fcfc-11ec-b71a-34e12da72407/motion_streaming_interface-2.log].
log file: /home/zahid/.ros/log/1f9cd900-fcfc-11ec-b71a-34e12da72407/motion_streaming_interface-2*.log
[ INFO] [1657117743.941869753]: Loading robot model 'fanuc_cr7ial ...
(more)
edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted
1

answered 2022-07-04 13:18:35 -0500

gvdhoorn gravatar image

updated 2022-07-06 09:42:22 -0500

then I run the following on a terminal in ROS pc.

roslaunch fanuc_cr7ial_moveit_config moveit_planning_execution.launch robot_ip:=192.168.0.10 use_bswap:=false

I do not see any message appearing on TP and although no fault / error appears on TP, but there is no communication.

If I jog the robotic arm within Roboguide, I do not see the respective arm in RViz being moved. Also, If I plan and execute something on ROS side, I do not see it on Roboguide.

From the command line you show, this is expected, as you're not specifying sim:=false, which tells moveit_planning_execution.launch to use the real driver to connect to a real / Roboguide simulated controller.

For the driver, Roboguide is "a real controller", as Roboguide runs the same controller software and the same Karel and TP programs as a real R-30iB(+) (which you likely use with a real CR-7iA/L).

This is explained in Running the ROS-Industrial driver programs on your Fanuc robot, section 3. Outline, bullets 3 and 4.

Treat Roboguide as a real controller, but know it requires use_bswap:=false, as Roboguide is a little-endian program (in contrast to a real controller, which is big-endian).

Having written all of this, I'd suggest to use fanuc_driver_exp instead of fanuc_driver. It won't be very much better in terms of motion performance, but it's a bit nicer in terms of structure and network robustness. It will also know how to deal with e-stops.


Edit:

[joint_state-1] process has died [pid 12635, exit code 127, cmd /home/zahid/catkin_ws/devel/lib/fanuc_driver/robot_state __name:=joint_state __log:=/home/zahid/.ros/log/1f9cd900-fcfc-11ec-b71a-34e12da72407/joint_state-1.log].
log file: /home/zahid/.ros/log/1f9cd900-fcfc-11ec-b71a-34e12da72407/joint_state-1*.log
process[rviz_zahid_Strix_GL504GM_GL504GM_12595_5571255664066723439-6]: started with pid [12661]
[motion_streaming_interface-2] process has died [pid 12636, exit code 127, cmd /home/zahid/catkin_ws/devel/lib/fanuc_driver/motion_streaming_interface __name:=motion_streaming_interface __log:=/home/zahid/.ros/log/1f9cd900-fcfc-11ec-b71a-34e12da72407/motion_streaming_interface-2.log].
log file: /home/zahid/.ros/log/1f9cd900-fcfc-11ec-b71a-34e12da72407/motion_streaming_interface-2*.log

as you can see from these two lines, both driver nodes exit due to symbol resolution problems.

So the ROS nodes are not running, which means there is no connection. It would be expected to not see RViz follow the robot, and not being able the command the robot in Roboguide as the driver is essentially not active.

I used catkin build now, and I have edited my original post with complete output. Now, I do not have the connection.

Did you rm -rf /home/zahid/catkin_ws/devel /home/zahid/catkin_ws/build /home/zahid/catkin_ws/install before rebuilding with catkin build? The error message seems to indicate something is wrong with the libraries (symbols are missing). I'm a little confused as to how that would happen, as it all works OK on the test system(s) I have, and "nothing has changed" afaik.

edit flag offensive delete link more

Comments

thanks @gvdhoorn, I've tried with passing sim:=false option to the launch script, but, still no message (connection acknowledgment) appears on TP screen, and subsequently no communication. Could there be firewall issues, I can ping the computer where Roboguide is installed.

zahid990170 gravatar image zahid990170  ( 2022-07-05 03:56:47 -0500 )edit

Could there be firewall issues

yes, could be.

Check to make sure external hosts are allowed to connect to tcp://:11000 and tcp://:11002.

Easiest check would be to disable the firewall completely -- temporarily -- and see whether things start working.

If not, it's not the firewall.

And make sure to use the IP address of the PC which is running Roboguide, not whatever IP address the controller has inside Roboguide (but I believe you are already doing that).

Finally: run your .launch file like this:

roslaunch --screen fanuc_cr7ial_moveit_config moveit_planning_execution.launch robot_ip:=192.168.0.10 use_bswap:=false sim:=false

That should print more information to the terminal.

You should see some confirmation of connection, or errors / warnings in case it couldn't connect.

gvdhoorn gravatar image gvdhoorn  ( 2022-07-05 11:58:45 -0500 )edit

thanks @gvdhoorn, yes, it printed the following

[ INFO] [1657115166.352950658]: Added message handler for message type: 0
[ INFO] [1657115166.357077653]: Robot state connecting to IP address: '192.168.0.10:11002'
[ INFO] [1657115166.357114876]: Joint Trajectory Interface connecting to IP address: '192.168.0.10:11000'
/home/zahid/catkin_ws/devel/lib/fanuc_driver/robot_state: symbol lookup error: /home/zahid/catkin_ws/devel/lib/libindustrial_robot_client.so: undefined symbol: _ZN16industrial_utils5param13getJointNamesENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_RSt6vectorIS6_SaIS6_EE
/home/zahid/catkin_ws/devel/lib/fanuc_driver/motion_streaming_interface: symbol lookup error: /home/zahid/catkin_ws/devel/lib/libindustrial_robot_client.so: undefined symbol: _ZN16industrial_utils5param13getJointNamesENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_RSt6vectorIS6_SaIS6_EE

thanks,

zahid990170 gravatar image zahid990170  ( 2022-07-06 08:49:21 -0500 )edit

You should not see any errors or warnings, so what you copy-paste here is not good.

I would suggest to first fix that, because it is blocking you from connecting to the controller.

gvdhoorn gravatar image gvdhoorn  ( 2022-07-06 09:07:56 -0500 )edit

Please copy the complete output from your roslaunch --screen ... command and paste it as an edit into your original question text. Use the edit button/link to edit it. Do not post it here as a comment.

gvdhoorn gravatar image gvdhoorn  ( 2022-07-06 09:12:02 -0500 )edit

Do not mix catkin_tools (ie: catkin build) with catkin_make. Choose one and stick to it.

I'd recommend removing build, devel and install (if you have it), and then rebuilding your workspace.

And without the previously requested output, I cannot help you.

gvdhoorn gravatar image gvdhoorn  ( 2022-07-06 09:16:19 -0500 )edit

I used catkin build now, and I have edited my original post with complete output. Now, I do not have the connection.

zahid990170 gravatar image zahid990170  ( 2022-07-06 09:32:19 -0500 )edit

Question Tools

1 follower

Stats

Asked: 2022-07-04 10:58:43 -0500

Seen: 168 times

Last updated: Jul 06 '22