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

Cannot launch node of type [motoman_driver/robot_state]: cannot locate node of type [robot_state] in package [motoman_driver]

asked 2022-05-18 10:40:04 -0600

GMG gravatar image

updated 2022-05-24 11:51:40 -0600

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/mot... and all ROS Industrial packages. However, when we want to follow the instructions listed here http://wiki.ros.org/motoman_driver/Tu..., 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/mot...):

~$ 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 ...
(more)
edit retag flag offensive close merge delete

Comments

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.

gvdhoorn gravatar image gvdhoorn  ( 2022-05-19 02:39:16 -0600 )edit

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.

gvdhoorn gravatar image gvdhoorn  ( 2022-05-19 02:44:31 -0600 )edit

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.

GMG gravatar image GMG  ( 2022-05-20 15:10:37 -0600 )edit

1 Answer

Sort by ยป oldest newest most voted
0

answered 2022-05-21 00:48:19 -0600

gvdhoorn gravatar image

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 ... (more)

edit flag offensive delete link more

Comments

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!

GMG gravatar image GMG  ( 2022-05-24 11:53:30 -0600 )edit

Question Tools

2 followers

Stats

Asked: 2022-05-18 10:40:04 -0600

Seen: 172 times

Last updated: May 24 '22