Can't establish connection to UR5 using ROS-Industrial driver
Hello,
I am currently running on Ubuntu 14.04.5 LTS and UR Software 3.3.0.145. I have gone through the ROS tutorial for installing Indigo and setting up my catkin workspace. Next I cloned the the github repo for the ur_modern_driver
into catkin_ws/src
and made it with catkin_make
. From there I have tried to follow the universal robot getting started with ROS Industrial tutorial...
Universal Robot ROS Industrial Tutorial
I can ping the UR5 and run my own python scripts with URScript commands so the communication appears to be in check.
My problem is with step 3.3 in the tutorial when I try to run
roslaunch ur_bringup ur5_bringup.launch robot_ip:=IP_OF_THE_ROBOT [reverse_port:=REVERSE_PORT]
and
rosrun ur_driver test_move.py
When I run the roslaunch command from the ~/catkin_ws
directory I get the error
[ur5_bringup.launch] is neither a launch file in package [ur_bringup] nor is [ur_bringup] a launch file name
However, I have been able to get it to launch once by switching to the ~/catkin_ws/src/ur_modern_driver/launch
directory and omitting ur_bringup
at the start of the command, but the rosrun
command would not do anything on the arm. Coming back after the weekend and trying to run the same thing I get an
Error connecting to get firmware version
So I appear to be back at square one trying to get roslaunch
to work.
I'm not sure if this would be an issue, but the computer I am currently running from is not connected to the internet when I run commands because there is only one ethernet port which needs to be connected to the UR5. I have made sure to run source devel/setup.bash
before the roslaunch
command and have checked that the .launch files do in fact exist in the launch folder.
Any insight / ideas are greatly appreciated!
Cheers,
Pawel
[UPDATE]
After trying the suggested line
roslaunch ur_modern_driver ur5_bringup.launch robot_ip:=IP.OF.YOUR.UR
I get the same sort of error as before with the Error connecting to get firmware
. It appears that it is trying to use the UR3 driver for some reason? Once again I made sure to run source ~/catkin_ws/devel/setup.bash
beforehand. I pasted the error below...
auto-starting new master
process[master]: started with pid [4135]
ROS_MASTER_URI=http://localhost:11311
setting /run_id to a2d5b39c-7a9d-11e6-b304-001cc0933a57
process[rosout-1]: started with pid [4148]
started core service [/rosout]
process[robot_state_publisher-2]: started with pid [4151]
process[ur_driver-3]: started with pid [4152]
[FATAL] [1473872815.699936438]: Error connecting to get firmware version
terminate called after throwing an instance of 'std::system_error'
what(): Invalid argument
[ur_driver-3] process has died [pid 4152, exit code -6, cmd /home/robots/catkin_ws/devel/lib/ur_modern_driver/ur_driver __name:=ur_driver __log:=/home/robots/.ros/log/a2d5b39c-7a9d-11e6-b304-001cc0933a57/ur_driver-3.log].
log file: /home/robots/.ros/log/a2d5b39c-7a9d-11e6-b304-001cc0933a57/ur_driver-3*.log
May I suggest a topic title change? While you mention
test_move.py
in your question, the real issue seems to be with getting the launch file to start, and getting the driver to communicate with your controller. If that works, then I would start looking attest_move.py
.Note btw that the tutorial you linked is for the packages in
universal_robot
only. Theur_modern_driver
is (currently still) a package separate from that repository. Copy/pasting the commands from the tutorial will not work, as you found out.Thanks, I made the change to the title. I know that the tutorial was for universal_robot, but I remember that the ur_modern_driver git mentioned that it was meant to be a drop-in replacement. I thought that it should have worked the same in that case?
It is a drop-in replacement, but not if you try to start a launch file from
ur_bringup
: those launch files will be usingur_driver
, notur_modern_driver
. Hence my comment that you can't (just) copy/paste.It would perhaps be an idea to verify first that
ur_modern_driver
is compatible with Polyscope version 3.3.0.145: perhaps you could ask that on theur_modern_driver
github issue tracker?Thanks for the idea, I'll get right on that!
no, it's not. The filename of the log if just
ur_driver-3<and something>.log
. That has nothing to do with UR3s.Besides: there is no such thing as a UR3 driver: the driver is arm agnostic, only the controller matters.