0
$\begingroup$

Rosanswers logo

Hello,

We are currently working on establishing connection with a Yaskawa HC10DT robot using ROS Industrial. We have all the packages listed here https://github.com/ros-industrial/motoman and all ROS Industrial packages. However, when we want to follow the instructions listed here http://wiki.ros.org/motoman_driver/Tutorials/Usage, we get the error seen in the attached picture. We would be thankful if someone could help us with this issue.

We are using Ubuntu 18.04 (Bionic) and ROS Melodic (version: 1.14.13).

Build workspace:

~$ source /opt/ros/melodic/setup.bash
~$ mkdir -p ~/catkin_ws/src
~$ cd ~/catkin_ws/
~$ catkin_make
~$ catkin_make -DPYTHON_EXECUTABLE=/usr/bin/python3
~$ source devel/setup.bash

Download Packages (packages we downloaded from https://github.com/ros-industrial/motoman):

~$ cd $HOME/catkin_ws/src
~$ git clone -b melodic-devel https://github.com/ros-industrial/motoman.git src/motoman
~$ rosdep update
~$ rosdep install --from-paths src/ --ignore-src --rosdistro melodic
~$ catkin build
~$ source $HOME/catkin_ws/devel/setup.bash

When trying to run this instruction (note: real robot IP address is not displayed below):

~$ source /home/student/catkin_ws/devel/setup.bash
# First we tried this command
~$ roslaunch motoman_driver robot_interface_streaming_yrc1000.launch robot_ip:=XX.XXX.XX.XX
# Second we tried this command
~$ roslaunch motoman_hc10_support robot_interface_streaming_hc10dt.launch robot_ip:=XXX.XXX.XXX.XXX controller:=yrc1000

We obtained the following error:

... logging to /home/student/.ros/log/18c3894e-d6be-11ec-92d2-3417ebabbff9/roslaunch-student-OptiPlex-9020-5457.log
Checking log directory for disk usage. This may take a while.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.

started roslaunch server http://student-OptiPlex-9020:39861/

SUMMARY
========

PARAMETERS
 * /io_relay/port: 50242
 * /robot_ip_address: XX.XXX.XX.XX
 * /rosdistro: melodic
 * /rosversion: 1.14.13

NODES
  /
    io_relay (motoman_driver/io_relay)
    joint_state (motoman_driver/robot_state)
    joint_trajectory_action (industrial_robot_client/joint_trajectory_action)
    motion_streaming_interface (motoman_driver/motion_streaming_interface)

ROS_MASTER_URI=http://localhost:11311

ERROR: cannot launch node of type [motoman_driver/robot_state]: Cannot locate node of type [robot_state] in package [motoman_driver]. Make sure file exists in package path and permission is set to executable (chmod +x)
ERROR: cannot launch node of type [motoman_driver/motion_streaming_interface]: Cannot locate node of type [motion_streaming_interface] in package [motoman_driver]. Make sure file exists in package path and permission is set to executable (chmod +x)
ERROR: cannot launch node of type [motoman_driver/io_relay]: Cannot locate node of type [io_relay] in package [motoman_driver]. Make sure file exists in package path and permission is set to executable (chmod +x)
process[joint_trajectory_action-4]: started with pid [5472]
[ WARN] [1652887326.581429246]: Unable to find user-specified joint names in 'controller_joint_names'
[ WARN] [1652887326.582446633]: Unable to find URDF joint names in 'robot_description'
[ERROR] [1652887326.582477290]: Cannot find user-specified joint names. Tried ROS parameter 'controller_joint_names' and the URDF in 'robot_description'.
[ERROR] [1652887326.582503122]: Failed to initialize joint_names.
[ WARN] [1652887327.586912877]: Trajectory state not received for 1.000000 seconds

In order to solve the issue above, we performed the following actions:

~$ cd $HOME/catkin_ws
~$ sudo pip install empy
~$ catkin_make

The packages were then installed and built successfully without any errors.

This seems to have solved the previous problem that originated this post. However, now we are getting a new error when running the following commands:

~$ roslaunch motoman_hc10_support robot_interface_streaming_hc10dt.launch robot_ip:=XXX.XXX.XXX.XXX controller:=yrc1000

Output when running the command above:

... logging to /home/student/.ros/log/c9d66382-d862-11ec-b02f-3417ebabbff9/roslaunch-student-OptiPlex-9020-9469.log
Checking log directory for disk usage. This may take a while.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.

started roslaunch server http://student-OptiPlex-9020:39413/

SUMMARY
========

PARAMETERS
 * /io_relay/port: 50242
 * /robot_ip_address: XXX.XXX.XXX.XXX
 * /rosdistro: melodic
 * /rosversion: 1.14.13

NODES
  /
    io_relay (motoman_driver/io_relay)
    joint_state (motoman_driver/robot_state)
    joint_trajectory_action (industrial_robot_client/joint_trajectory_action)
    motion_streaming_interface (motoman_driver/motion_streaming_interface)

ROS_MASTER_URI=http://localhost:11311

process[joint_state-1]: started with pid [9484]
process[motion_streaming_interface-2]: started with pid [9485]
process[io_relay-3]: started with pid [9491]
process[joint_trajectory_action-4]: started with pid [9496]
[ WARN] [1653072702.361150330]: Unable to read velocity limits from 'robot_description' param.  Velocity validation disabled.
[ WARN] [1653072702.373243881]: Tried to connect when socket already in connected state

^C[joint_trajectory_action-4] killing on exit
[io_relay-3] killing on exit
[motion_streaming_interface-2] killing on exit
[joint_state-1] killing on exit
[ERROR] [1653072715.708198060]: Socket select function failed, rc: -1. Error: 'Interrupted system call' (errno: 4)
motion_streaming_interface: /usr/include/boost/thread/pthread/mutex.hpp:111: boost::mutex::~mutex(): Assertion `!res' failed.
shutting down processing monitor...
... shutting down processing monitor complete
done

Following the steps and suggestions from the last comment, the following steps were performed.

Correction from your point 3 (comments on the latest edit): We actually used:

git clone -b kinetic-devel https://github.com/ros-industrial/motoman.git src/motoman

Uninstall empy

sudo pip uninstall empy

Remove build and devel folders from catkin_ws

cd $HOME/catkin_ws
rm -rf build devel

Rebuild catkin_ws using catkin_tools

source /opt/ros/melodic/setup.bash
catkin build

Output

------------------------------------------------------------
Profile:                     default
Extending:             [env] /opt/ros/melodic
Workspace:                   /home/student/catkin_ws
------------------------------------------------------------
Build Space:        [exists] /home/student/catkin_ws/build
Devel Space:        [exists] /home/student/catkin_ws/devel
Install Space:      [unused] /home/student/catkin_ws/install
Log Space:         [missing] /home/student/catkin_ws/logs
Source Space:       [exists] /home/student/catkin_ws/src
DESTDIR:            [unused] None
------------------------------------------------------------
Devel Space Layout:          linked
Install Space Layout:        None
------------------------------------------------------------
Additional CMake Args:       None
Additional Make Args:        None
Additional catkin Make Args: None
Internal Make Job Server:    True
Cache Job Environments:      False
------------------------------------------------------------
Whitelisted Packages:        None
Blacklisted Packages:        None
------------------------------------------------------------
Workspace configuration appears valid.

NOTE: Forcing CMake to run for each package.
------------------------------------------------------------
[build] Found '37' packages in 0.0 seconds.                                                         
[build] Updating package table.                                                                     
Starting  >>> catkin_tools_prebuild                                                                 
Finished  <<< catkin_tools_prebuild                       [ 2.0 seconds ]                           
Starting  >>> motoman_msgs                                                                          
Starting  >>> motoman_resources                                                                     
Finished  <<< motoman_resources                           [ 1.7 seconds ]                           
Starting  >>> motoman_motopos_d500_support                                                          
Finished  <<< motoman_msgs                                [ 4.0 seconds ]                           
Starting  >>> motoman_driver                                                                        
Finished  <<< motoman_motopos_d500_support                [ 2.4 seconds ]                           
Finished  <<< motoman_driver                              [ 34.0 seconds ]                          
Starting  >>> motoman_ar2010_support                                                                
Starting  >>> motoman_es_support                                                                    
Starting  >>> motoman_gp110_support                                                                 
Starting  >>> motoman_gp12_support                                                                  
Starting  >>> motoman_gp180_support                                                                 
Starting  >>> motoman_gp200r_support                                                                
Starting  >>> motoman_gp25_support                                                                  
Starting  >>> motoman_gp4_support                                                                   
Finished  <<< motoman_gp12_support                        [ 2.5 seconds ]                           
Starting  >>> motoman_gp50_support                                                                  
Finished  <<< motoman_gp25_support                        [ 2.6 seconds ]                           
Starting  >>> motoman_gp7_support                                                                   
Finished  <<< motoman_gp4_support                         [ 2.7 seconds ]                           
Starting  >>> motoman_gp88_support                                                                  
Finished  <<< motoman_es_support                          [ 2.7 seconds ]                           
Starting  >>> motoman_gp8_support                                                                   
Finished  <<< motoman_gp110_support                       [ 2.8 seconds ]                           
Starting  >>> motoman_hc10_support                                                                  
Finished  <<< motoman_ar2010_support                      [ 2.8 seconds ]                           
Starting  >>> motoman_hc20_support                                                                  
Finished  <<< motoman_gp200r_support                      [ 2.8 seconds ]                           
Starting  >>> motoman_ma2010_support                                                                
Finished  <<< motoman_gp180_support                       [ 2.8 seconds ]                           
Starting  >>> motoman_mh12_support                                                                  
Finished  <<< motoman_gp50_support                        [ 2.8 seconds ]                           
Starting  >>> motoman_mh50_support                                                                  
Finished  <<< motoman_gp7_support                         [ 2.7 seconds ]                           
Starting  >>> motoman_mh5_support                                                                   
Finished  <<< motoman_gp88_support                        [ 2.8 seconds ]                           
Starting  >>> motoman_motomini_support                                                              
Finished  <<< motoman_gp8_support                         [ 2.7 seconds ]                           
Starting  >>> motoman_ms210_support                                                                 
Finished  <<< motoman_hc10_support                        [ 2.8 seconds ]                           
Starting  >>> motoman_sda10f_support                                                                
Finished  <<< motoman_hc20_support                        [ 2.7 seconds ]                           
Starting  >>> motoman_sia10d_support                                                                
Finished  <<< motoman_ma2010_support                      [ 2.8 seconds ]                           
Starting  >>> motoman_sia10f_support                                                                
Finished  <<< motoman_mh12_support                        [ 2.8 seconds ]                           
Starting  >>> motoman_sia20d_support                                                                
Finished  <<< motoman_mh50_support                        [ 2.7 seconds ]                           
Starting  >>> motoman_sia30d_support                                                                
Finished  <<< motoman_mh5_support                         [ 2.7 seconds ]                           
Starting  >>> motoman_sia50_support                                                                 
Finished  <<< motoman_motomini_support                    [ 2.7 seconds ]                           
Starting  >>> motoman_sia5d_support                                                                 
Finished  <<< motoman_ms210_support                       [ 2.7 seconds ]                           
Starting  >>> motoman_mh110_support                                                                 
Finished  <<< motoman_sda10f_support                      [ 2.7 seconds ]                           
Starting  >>> motoman_ma2010_moveit_config                                                          
Finished  <<< motoman_sia10d_support                      [ 2.8 seconds ]                           
Starting  >>> motoman_ms210_moveit_config                                                           
Finished  <<< motoman_sia10f_support                      [ 2.8 seconds ]                           
Starting  >>> motoman_sda10f_moveit_config                                                          
Finished  <<< motoman_sia20d_support                      [ 2.7 seconds ]                           
Starting  >>> motoman_sia20d_moveit_config                                                          
Finished  <<< motoman_sia30d_support                      [ 2.8 seconds ]                           
Finished  <<< motoman_sia50_support                       [ 2.8 seconds ]                           
Finished  <<< motoman_sia5d_support                       [ 2.7 seconds ]                           
Finished  <<< motoman_mh110_support                       [ 2.7 seconds ]                           
Finished  <<< motoman_ma2010_moveit_config                [ 2.7 seconds ]                           
Finished  <<< motoman_ms210_moveit_config                 [ 2.6 seconds ]                           
Finished  <<< motoman_sda10f_moveit_config                [ 2.6 seconds ]                           
Finished  <<< motoman_sia20d_moveit_config                [ 2.5 seconds ]                           
[build] Summary: All 37 packages succeeded!                                                         
[build]   Ignored:   1 packages were skipped or are blacklisted.                                    
[build]   Warnings:  None.                                                                          
[build]   Abandoned: None.                                                                          
[build]   Failed:    None.                                                                          
[build] Runtime: 51.5 seconds total.                                                                
[build] Note: Workspace packages have changed, please re-source setup files to use them.

Resource setup files

source devel/setup.bash

We then proceeded with

roslaunch --screen motoman_hc10_support robot_interface_streaming_hc10dt.launch robot_ip:=XXX.XXX.XXX.XXX controller:=yrc1000

The following output was obtained:

... logging to /home/student/.ros/log/d43728f2-db7d-11ec-8bd8-3417ebabbff9/roslaunch-student-OptiPlex-9020-3761.log
Checking log directory for disk usage. This may take a while.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.

started roslaunch server http://student-OptiPlex-9020:34575/

SUMMARY
========

PARAMETERS
 * /controller_joint_names: ['joint_1_s', 'jo...
 * /io_relay/port: 50242
 * /robot_ip_address: 10.139.0.16
 * /rosdistro: melodic
 * /rosversion: 1.14.13

NODES
  /
    io_relay (motoman_driver/io_relay)
    joint_state (motoman_driver/robot_state)
    joint_trajectory_action (industrial_robot_client/joint_trajectory_action)
    motion_streaming_interface (motoman_driver/motion_streaming_interface)

auto-starting new master
process[master]: started with pid [3772]
ROS_MASTER_URI=http://localhost:11311

setting /run_id to d43728f2-db7d-11ec-8bd8-3417ebabbff9
process[rosout-1]: started with pid [3783]
started core service [/rosout]
process[joint_state-2]: started with pid [3786]
process[motion_streaming_interface-3]: started with pid [3787]
process[io_relay-4]: started with pid [3788]
process[joint_trajectory_action-5]: started with pid [3793]
[ INFO] [1653409402.849467082]: Connected to server
[ INFO] [1653409402.879684294]: Adding joint_1_s to list parameter
[ INFO] [1653409402.881017625]: Added message handler for message type: 0
[ INFO] [1653409402.882002701]: Joint Trajectory Interface connecting to IP address: '10.139.0.16:50240'
[ INFO] [1653409402.882596259]: Adding joint_2_l to list parameter
[ INFO] [1653409402.882635739]: Adding joint_3_u to list parameter
[ INFO] [1653409402.882660910]: Adding joint_4_r to list parameter
[ INFO] [1653409402.882684031]: Adding joint_5_b to list parameter
[ INFO] [1653409402.882705962]: Adding joint_6_t to list parameter
[ INFO] [1653409402.882745859]: Found user-specified joint names in 'controller_joint_names': [joint_1_s, joint_2_l, joint_3_u, joint_4_r, joint_5_b, joint_6_t]
[ INFO] [1653409402.882775778]: Filtered joint names to 6 joints
[ INFO] [1653409402.885345596]: Robot state connecting to IP address: '10.139.0.16:50241'
[ INFO] [1653409402.887234622]: Failed to find 'topic_list' parameter
[ INFO] [1653409402.887280366]: Expecting/assuming single motion-group controller configuration
[ INFO] [1653409402.887482381]: Failed to find 'topic_list' parameter
[ INFO] [1653409402.887519866]: Expecting/assuming single motion-group controller configuration
[ INFO] [1653409402.890519158]: Adding joint_1_s to list parameter
[ INFO] [1653409402.890557937]: Adding joint_2_l to list parameter
[ INFO] [1653409402.890580636]: Adding joint_3_u to list parameter
[ INFO] [1653409402.890595212]: Adding joint_4_r to list parameter
[ INFO] [1653409402.890608001]: Adding joint_5_b to list parameter
[ INFO] [1653409402.890625271]: Adding joint_6_t to list parameter
[ INFO] [1653409402.890672647]: Found user-specified joint names in 'controller_joint_names': [joint_1_s, joint_2_l, joint_3_u, joint_4_r, joint_5_b, joint_6_t]
[ INFO] [1653409402.890702125]: MotomanJointTrajectoryStreamer: init
[ INFO] [1653409402.890727046]: JointTrajectoryStreamer: init
[ INFO] [1653409402.890902790]: Adding joint_1_s to list parameter
[ INFO] [1653409402.890940895]: Adding joint_2_l to list parameter
[ INFO] [1653409402.890970747]: Adding joint_3_u to list parameter
[ INFO] [1653409402.891000909]: Adding joint_4_r to list parameter
[ INFO] [1653409402.891024532]: Adding joint_5_b to list parameter
[ INFO] [1653409402.891050577]: Adding joint_6_t to list parameter
[ INFO] [1653409402.891089289]: Found user-specified joint names in 'controller_joint_names': [joint_1_s, joint_2_l, joint_3_u, joint_4_r, joint_5_b, joint_6_t]
[ INFO] [1653409402.891316776]: Connected to server
[ INFO] [1653409402.891563721]: Connected to server
[ INFO] [1653409402.891609820]: Initializing message manager with default comms fault handler
[ INFO] [1653409402.891649009]: Default communications fault handler successfully initialized
[ INFO] [1653409402.891690651]: Initializing message manager
[ INFO] [1653409402.891726964]: Added message handler for message type: 1
[ WARN] [1653409402.892269154]: Unable to read velocity limits from 'robot_description' param.  Velocity validation disabled.
[ INFO] [1653409402.897182561]: Added message handler for message type: 10
[ INFO] [1653409402.897772343]: Added message handler for message type: 15
[ INFO] [1653409402.902698120]: Entering message manager spin loop
[ INFO] [1653409402.908912821]: Unlocking mutex
[ INFO] [1653409402.908969169]: Starting Motoman joint trajectory streamer thread
[ INFO] [1653409402.914084775]: Connecting to robot motion server
[ WARN] [1653409402.914120742]: Tried to connect when socket already in connected state

We used the following command to obtain the joint states:

rostopic echo -c /joint_states

Output:

header: 
  seq: 3706
  stamp: 
    secs: 1653409502
    nsecs: 369215072
  frame_id: ''
name: [joint_1_s, joint_2_l, joint_3_u, joint_4_r, joint_5_b, joint_6_t]
position: [2.391390800476074, 0.09812847524881363, 1.4320321083068848, 0.03563644737005234, -1.3118761777877808, -0.02791845239698887]
velocity: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
effort: []
---

Following the instructions listed above, we were able to establish connection with the robot.

Thanks for the help.


Originally posted by GMG on ROS Answers with karma: 3 on 2022-05-18

Post score: 0


Original comments

Comment by gvdhoorn on 2022-05-19:
Please update your post (use the edit button/link below it) with the steps you used to setup and build your workspace (ie: /home/student/catkin_ws). How did you download the packages? Where did you get them? Which commands did you run? And in which order? What was their output? etc.

Comment by gvdhoorn on 2022-05-19:
Additionally:

We are currently working on establishing connection with a Yaskawa HC10DT robot

Once you get the build issues sorted out, please don't use motoman_driver robot_interface_streaming_yrc1000.launch directly when you have a supported robot (in your case the HC10DT).

Use the following command instead:

roslaunch motoman_hc10_support robot_interface_streaming_hc10dt.launch robot_ip:=XX.XXX.XX.XX controller:=yrc1000

I've updated the Usage tutorial to include more relevant information.

Comment by GMG on 2022-05-20:
Thank you for your feedback and help. The post has been updated with the requested information, I hope this will help you get a better understanding on the issue.

$\endgroup$

1 Answer 1

0
$\begingroup$

Rosanswers logo

A few things I notice in your edit:

  1. your initial build of your empty workspace tries to override the version of Python used by catkin_make. Please be aware that Melodic targets Python 2. If you want to use Python 3, you must build ROS Melodic from source in its entirety, and you must build it all with Python 3. With what you show here, you now have a regular Melodic, Python 2 install, mixed with a workspace which tries to use Python 3. I'm pretty sure your problem was/is caused by this, as missing empy is one of the symptoms of this.

    I would actually recommend you either do not use Melodic with Python 3, or switch to ROS Noetic, which supports Python 3.8 natively. motoman_driver also works on Noetic.

  2. you are mixing using catkin_make with catkin_tools (ie: catkin build). Try not to do that. Stick with catkin_tools

  3. there is no melodic-devel branch in ros-industrial/motoman, so git clone -b melodic-devel ... won't work

  4. having to sudo pip install ... something is not good, and should not be needed for a default install of ROS on Ubuntu 18.04. See my point 1.

  5. as the updated Usage tutorial states: do not start robot_interface_streaming_yrc1000.launch directly if a suitable robot support package exists. And you have a HC10, which has motoman_hc10_support. Use the .launch files in that package.

  6. the two warnings you show in the final roslaunch output are not problematic. If that's all you see then the driver seems to work and have successfully connected.

Having written that, my advice would be:

  1. if you're just starting with ROS, do not try to use Python 3 with ROS Melodic. Stick to Python 2, or upgrade to Ubuntu Focal (20.04) and ROS Noetic.
  2. use catkin_tools to build your workspace, always. In fact, you don't need the initial build of an empty workspace, it serves no purpose.
  3. undo the sudo pip install empy, it should already be installed, but probably for the system-default Python 2 interpreter. If you've made Python 3 the default on your system, pip would install packages for that interpreter, but all ROS Melodic apt packages will still install for Python 2. There is no way to change this, so you'll keep running into this problem. See Should we warn (new) users about difficulties with Python 3 and alternative Python interpreters? for a discussion about this.

It's certainly possible to use Python 3 with Melodic, but you have to take care to do it everywhere, and it's more involved than just -DPYTHON_EXECUTABLE=/usr/bin/python3. See Build your package using Python 3.

Finally: to make sure things work as they are intended, delete your current workspace (or at least the $HOME/catkin_ws/build and $HOME/catkin_ws/devel folders inside it), and build with just catkin_tools, so:

cd $HOME/catkin_ws
rm -rf build devel
source /opt/ros/melodic/setup.bash
catkin build
source devel/setup.bash

at this point you should be able to (note the extra --screen option there):

roslaunch --screen motoman_hc10_support robot_interface_streaming_hc10dt.launch robot_ip:=XXX.XXX.XXX.XXX controller:=yrc1000

You will likely still see the two warnings, among other output you didn't see before, but things should now be working.

If they aren't, append all output from roslaunch to your starting post and explain how you started things.


Originally posted by gvdhoorn with karma: 86574 on 2022-05-21

This answer was ACCEPTED on the original site

Post score: 0


Original comments

Comment by GMG on 2022-05-24:
Hello,

By following your instructions and suggestions we were finally able to establish connection with the robot. I have edited my post and included the steps done in order to connect with the robot.

Thank you very much for all your help!

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.