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.