Giter Site home page Giter Site logo

universalrobots / universal_robots_ros_driver Goto Github PK

View Code? Open in Web Editor NEW
734.0 26.0 395.0 4.11 MB

Universal Robots ROS driver supporting CB3 and e-Series

License: Apache License 2.0

CMake 6.15% C++ 77.99% Python 15.87%
ros ros-industrial robotics ros-melodic ros-noetic

universal_robots_ros_driver's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

universal_robots_ros_driver's Issues

Add missing calls from dashboard server

There are a couple of calls missing from the dashboard server, especially since Versions 3.12/5.6

  • PolyscopeVersion
  • setUserRole
  • set operational mode (eSeries only)
  • clear operational mode (eSeries only)
  • get serial number (3.12/5.6)
  • get robot model (3.12/5.6)
  • get operational mode (5.6)
  • is in remote control (5.6)

Could not get fresh data package from robot when PROFINET is enabled

Upon attempting to set the tool digital output via the /ur_hardware_interface/set_io service, the driver throws an error:
[ERROR] [1575562385.903592318]: Could not get fresh data package from robot
and the output remains the same, although the service call returns success: True.

Versions

  • Affected Robot Software Version(s): 3.11.0.82155
  • Affected Robot Hardware Version(s): UR3 CB-series

Use Case and Setup

  • ROS Kinetic
  • Ubuntu 16.04.6

Issue details

Terminal output from driver launch:

arw@arw-pc:~$ roslaunch ur_robot_driver ur3_bringup.launch
... logging to /home/arw/.ros/log/04cf3074-177a-11ea-9bba-7085c275eb55/roslaunch-arw-pc-121002.log
Checking log directory for disk usage. This may take awhile.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.

started roslaunch server http://arw-pc:36045/

SUMMARY
========

PARAMETERS
 * /controller_stopper/consistent_controllers: ['joint_state_con...
 * /force_torque_sensor_controller/publish_rate: 125
 * /force_torque_sensor_controller/type: force_torque_sens...
 * /hardware_control_loop/loop_hz: 125
 * /hardware_interface/joints: ['shoulder_pan_jo...
 * /joint_state_controller/publish_rate: 125
 * /joint_state_controller/type: joint_state_contr...
 * /pos_traj_controller/action_monitor_rate: 10
 * /pos_traj_controller/constraints/elbow_joint/goal: 0.1
 * /pos_traj_controller/constraints/elbow_joint/trajectory: 0.2
 * /pos_traj_controller/constraints/goal_time: 0.6
 * /pos_traj_controller/constraints/shoulder_lift_joint/goal: 0.1
 * /pos_traj_controller/constraints/shoulder_lift_joint/trajectory: 0.2
 * /pos_traj_controller/constraints/shoulder_pan_joint/goal: 0.1
 * /pos_traj_controller/constraints/shoulder_pan_joint/trajectory: 0.2
 * /pos_traj_controller/constraints/stopped_velocity_tolerance: 0.05
 * /pos_traj_controller/constraints/wrist_1_joint/goal: 0.1
 * /pos_traj_controller/constraints/wrist_1_joint/trajectory: 0.2
 * /pos_traj_controller/constraints/wrist_2_joint/goal: 0.1
 * /pos_traj_controller/constraints/wrist_2_joint/trajectory: 0.2
 * /pos_traj_controller/constraints/wrist_3_joint/goal: 0.1
 * /pos_traj_controller/constraints/wrist_3_joint/trajectory: 0.2
 * /pos_traj_controller/joints: ['shoulder_pan_jo...
 * /pos_traj_controller/state_publish_rate: 125
 * /pos_traj_controller/stop_trajectory_duration: 0.5
 * /pos_traj_controller/type: position_controll...
 * /robot_description: <?xml version="1....
 * /rosdistro: kinetic
 * /rosversion: 1.12.14
 * /scaled_pos_traj_controller/action_monitor_rate: 10
 * /scaled_pos_traj_controller/constraints/elbow_joint/goal: 0.1
 * /scaled_pos_traj_controller/constraints/elbow_joint/trajectory: 0.2
 * /scaled_pos_traj_controller/constraints/goal_time: 0.6
 * /scaled_pos_traj_controller/constraints/shoulder_lift_joint/goal: 0.1
 * /scaled_pos_traj_controller/constraints/shoulder_lift_joint/trajectory: 0.2
 * /scaled_pos_traj_controller/constraints/shoulder_pan_joint/goal: 0.1
 * /scaled_pos_traj_controller/constraints/shoulder_pan_joint/trajectory: 0.2
 * /scaled_pos_traj_controller/constraints/stopped_velocity_tolerance: 0.05
 * /scaled_pos_traj_controller/constraints/wrist_1_joint/goal: 0.1
 * /scaled_pos_traj_controller/constraints/wrist_1_joint/trajectory: 0.2
 * /scaled_pos_traj_controller/constraints/wrist_2_joint/goal: 0.1
 * /scaled_pos_traj_controller/constraints/wrist_2_joint/trajectory: 0.2
 * /scaled_pos_traj_controller/constraints/wrist_3_joint/goal: 0.1
 * /scaled_pos_traj_controller/constraints/wrist_3_joint/trajectory: 0.2
 * /scaled_pos_traj_controller/joints: ['shoulder_pan_jo...
 * /scaled_pos_traj_controller/state_publish_rate: 125
 * /scaled_pos_traj_controller/stop_trajectory_duration: 0.5
 * /scaled_pos_traj_controller/type: position_controll...
 * /speed_scaling_state_controller/publish_rate: 125
 * /speed_scaling_state_controller/type: ur_controllers/Sp...
 * /ur_hardware_interface/headless_mode: False
 * /ur_hardware_interface/input_recipe_file: /home/arw/arw_ws/...
 * /ur_hardware_interface/kinematics/forearm/pitch: -0.000287220857793
 * /ur_hardware_interface/kinematics/forearm/roll: 0.00170357346687
 * /ur_hardware_interface/kinematics/forearm/x: -0.244144204868
 * /ur_hardware_interface/kinematics/forearm/y: 0
 * /ur_hardware_interface/kinematics/forearm/yaw: 3.4308906525e-05
 * /ur_hardware_interface/kinematics/forearm/z: 0
 * /ur_hardware_interface/kinematics/hash: calib_26724891755...
 * /ur_hardware_interface/kinematics/shoulder/pitch: 0
 * /ur_hardware_interface/kinematics/shoulder/roll: 0
 * /ur_hardware_interface/kinematics/shoulder/x: 0
 * /ur_hardware_interface/kinematics/shoulder/y: 0
 * /ur_hardware_interface/kinematics/shoulder/yaw: -3.5287597596e-05
 * /ur_hardware_interface/kinematics/shoulder/z: 0.151662308025
 * /ur_hardware_interface/kinematics/upper_arm/pitch: 0
 * /ur_hardware_interface/kinematics/upper_arm/roll: 1.57022507232
 * /ur_hardware_interface/kinematics/upper_arm/x: -0.000152885195491
 * /ur_hardware_interface/kinematics/upper_arm/y: 0
 * /ur_hardware_interface/kinematics/upper_arm/yaw: -2.50883048411e-05
 * /ur_hardware_interface/kinematics/upper_arm/z: 0
 * /ur_hardware_interface/kinematics/wrist_1/pitch: 0.00399495497907
 * /ur_hardware_interface/kinematics/wrist_1/roll: 0.000456686827944
 * /ur_hardware_interface/kinematics/wrist_1/x: -0.213136605359
 * /ur_hardware_interface/kinematics/wrist_1/y: -5.16786677365e-05
 * /ur_hardware_interface/kinematics/wrist_1/yaw: -7.1582639858e-06
 * /ur_hardware_interface/kinematics/wrist_1/z: 0.113159962104
 * /ur_hardware_interface/kinematics/wrist_2/pitch: 0
 * /ur_hardware_interface/kinematics/wrist_2/roll: 1.5724288729
 * /ur_hardware_interface/kinematics/wrist_2/x: 0.000163824547616
 * /ur_hardware_interface/kinematics/wrist_2/y: -0.0851991182172
 * /ur_hardware_interface/kinematics/wrist_2/yaw: 9.47060355652e-06
 * /ur_hardware_interface/kinematics/wrist_2/z: -0.000139091612134
 * /ur_hardware_interface/kinematics/wrist_3/pitch: 3.14159265359
 * /ur_hardware_interface/kinematics/wrist_3/roll: 1.56989500609
 * /ur_hardware_interface/kinematics/wrist_3/x: 2.18218802874e-06
 * /ur_hardware_interface/kinematics/wrist_3/y: 0.0821902302805
 * /ur_hardware_interface/kinematics/wrist_3/yaw: -3.14154790558
 * /ur_hardware_interface/kinematics/wrist_3/z: -7.40797765348e-05
 * /ur_hardware_interface/output_recipe_file: /home/arw/arw_ws/...
 * /ur_hardware_interface/robot_ip: 192.168.1.10
 * /ur_hardware_interface/script_file: /home/arw/arw_ws/...
 * /ur_hardware_interface/tf_prefix: 
 * /ur_hardware_interface/tool_baud_rate: 115200
 * /ur_hardware_interface/tool_parity: 0
 * /ur_hardware_interface/tool_rx_idle_chars: 1.5
 * /ur_hardware_interface/tool_stop_bits: 1
 * /ur_hardware_interface/tool_tx_idle_chars: 3.5
 * /ur_hardware_interface/tool_voltage: 0
 * /ur_hardware_interface/use_tool_communication: False

NODES
  /
    controller_stopper (controller_stopper/node)
    robot_state_publisher (robot_state_publisher/robot_state_publisher)
    ros_control_controller_spawner (controller_manager/spawner)
    ros_control_stopped_spawner (controller_manager/spawner)
    ur_hardware_interface (ur_robot_driver/ur_robot_driver_node)
  /ur_hardware_interface/
    ur_robot_state_helper (ur_robot_driver/robot_state_helper)

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

setting /run_id to 04cf3074-177a-11ea-9bba-7085c275eb55
process[rosout-1]: started with pid [121029]
started core service [/rosout]
process[robot_state_publisher-2]: started with pid [121046]
process[ur_hardware_interface-3]: started with pid [121047]
process[ros_control_controller_spawner-4]: started with pid [121048]
process[ros_control_stopped_spawner-5]: started with pid [121061]
process[controller_stopper-6]: started with pid [121073]
process[ur_hardware_interface/ur_robot_state_helper-7]: started with pid [121077]
[ INFO] [1575562343.876588465]: Waiting for controller manager service to come up on /controller_manager/switch_controller
[ INFO] [1575562343.877356445]: waitForService: Service [/controller_manager/switch_controller] has not been advertised, waiting...
[INFO] [1575562344.333276]: Controller Spawner: Waiting for service controller_manager/load_controller
[INFO] [1575562344.334390]: Controller Spawner: Waiting for service controller_manager/load_controller
[ INFO] [1575562344.772292211]: Main thread: SCHED_FIFO OK
[ INFO] [1575562344.772428114]: Main thread priority is 99
[ INFO] [1575562344.782756884]: Initializing dashboard client
[ INFO] [1575562344.784673134]: Connected: Universal Robots Dashboard Server

[ INFO] [1575562344.812152327]: Initializing urdriver
[ INFO] [1575562344.812490540]: Checking if calibration data matches connected robot.
[ INFO] [1575562344.813330719]: Producer thread: SCHED_FIFO OK
[ INFO] [1575562344.813380228]: Thread priority is 99
[ INFO] [1575562344.930862750]: Calibration checked successfully.
[ INFO] [1575562345.832844849]: Producer thread: SCHED_FIFO OK
[ INFO] [1575562345.832879762]: Thread priority is 99
[ INFO] [1575562346.352666664]: Setting up RTDE communication with frequency 125.000000
[ INFO] [1575562347.396904901]: Producer thread: SCHED_FIFO OK
[ INFO] [1575562347.396941506]: Thread priority is 99
[ INFO] [1575562347.397008105]: Loaded ur_robot_driver hardware_interface
[ INFO] [1575562347.464295751]: waitForService: Service [/controller_manager/switch_controller] is now available.
[ INFO] [1575562347.464340681]: Service available.
[ INFO] [1575562347.464367349]: Waiting for controller list service to come up on /controller_manager/list_controllers
[ INFO] [1575562347.465924928]: Service available.
[ INFO] [1575562347.639440003]: Robot's safety mode is now NORMAL
[ INFO] [1575562347.639986418]: Robot mode is now RUNNING
[INFO] [1575562347.670039]: Controller Spawner: Waiting for service controller_manager/switch_controller
[INFO] [1575562347.672224]: Controller Spawner: Waiting for service controller_manager/switch_controller
[INFO] [1575562347.673714]: Controller Spawner: Waiting for service controller_manager/unload_controller
[INFO] [1575562347.674900]: Controller Spawner: Waiting for service controller_manager/unload_controller
[INFO] [1575562347.676547]: Loading controller: joint_state_controller
[INFO] [1575562347.677481]: Loading controller: pos_traj_controller
[INFO] [1575562347.693851]: Loading controller: scaled_pos_traj_controller
[INFO] [1575562347.805735]: Controller Spawner: Loaded controllers: pos_traj_controller
[INFO] [1575562348.021409]: Loading controller: speed_scaling_state_controller
[INFO] [1575562348.029785]: Loading controller: force_torque_sensor_controller
[INFO] [1575562348.045608]: Controller Spawner: Loaded controllers: joint_state_controller, scaled_pos_traj_controller, speed_scaling_state_controller, force_torque_sensor_controller
[INFO] [1575562348.053596]: Started controllers: joint_state_controller, scaled_pos_traj_controller, speed_scaling_state_controller, force_torque_sensor_controller
[ERROR] [1575562362.355470964]: Could not get fresh data package from robot

Terminal output from service call:

arw@arw-pc:~$ rosservice call /ur_hardware_interface/set_io "fun: 1
pin: 16
state: true" 
success: True

I also tried pin 17 with the same result.
The driver appears to be getting data from the robot because IO states are being published on the /ur_hardware_interface/io_states topic.

EM - stop doesn't clear current goal

Summary

When the robot is executing a goal from the ros action server and I press the EM-Stop and release it again, the robot executes the rest of the remaining trajectory with what appears to be maximum velocity.
This usually triggers the protective stop.
I'm surprised that I didn't find any related issues. Am I doing something wrong or is this maybe even intended?

Versions

  • ROS Driver version: I just pulled a926789
  • Affected Robot Software Version(s): 3.11.0.82155
  • Affected Robot Hardware Version(s): UR5
  • Robot Serial Number:
  • UR+ product(s) installed:
  • URCaps Software version(s): external control 1.0.1

Impact

In the best case it just wastes time. In the worst case you get a heart attack and die, because its fucking scary. :(

Issue details

  • it happens both with the em stop and the safeguard stop
  • canceling the goal on the ros driver doesn't fix the problem. It seems like the remaining trajectory is executing until the time step when a cancel was received by the ros driver.
  • I saw that the ros driver status of the current goal switches to aborted when the em stop is pressed.

Use Case and Setup

I don't think that's relevant here.

Project status at point of discovered

Well, it always happens, I just didn't create an issue until now.

Steps to Reproduce

You send a goal to the driver, wait until the arm starts moving and hit the em-stop and then release it again.
It happens both, with the em-stop and the safeguard-stop.

Expected Behavior

I expect the current goal to get canceled when the em-stop is hit. I don't see any reason why one would want to execute the old trajectory. If you do, I think its better to have some failure handling on the client side instead.
At the very least the robot should not try to "catch up" by using max velocity.

Workaround Suggestion

Restarting the ros driver clears the goal.

Capture robot status

In case of robot collision, the teach pendant shows a "protective stop" error, but is nowhere captured in ROS. There is a section which is commented out:

/*case robot_state_type::ROBOT_MODE_DATA:
// SharedRobotModeData* rmd = new SharedRobotModeData();
//return new rmd;

The variables are defined but never used:

bool physical_robot_connected;
bool real_robot_enabled;
bool robot_power_on;
bool emergency_stopped;
bool protective_stopped; // AKA security_stopped
bool program_running;
bool program_paused;

Might be interesting to create a PR.

Perhaps a missing imaginary_driver pkg?

Hi,

First and foremost, thanks for the amazing work here. I'm trying to follow the guide here to setup tool communication on an ur10e

I might be missing something but where exactly is "imaginary_driver"?

Fail to build the package in catkin workspace

Hi,
I followed your instruction to git clone this repository and universal_robot, and install all the dependencies. But I failed to build the package using command "catkin_make".

I am using Ubuntu 16.04, ROS kinetic, UR5e of version 5.1.0.

Below is my error:

Base path: /home/xinyi/catkin_ws
Source space: /home/xinyi/catkin_ws/src
Build space: /home/xinyi/catkin_ws/build
Devel space: /home/xinyi/catkin_ws/devel
Install space: /home/xinyi/catkin_ws/install

Running command: "make cmake_check_build_system" in "/home/xinyi/catkin_ws/build"

Running command: "make -j8 -l8" in "/home/xinyi/catkin_ws/build"

[ 0%] Built target std_msgs_generate_messages_cpp
[ 0%] Built target _ur_msgs_generate_messages_check_deps_SetPayload
[ 0%] Built target _ur_msgs_generate_messages_check_deps_ToolDataMsg
[ 0%] Built target _ur_msgs_generate_messages_check_deps_Digital
[ 0%] Built target _ur_msgs_generate_messages_check_deps_IOStates
[ 0%] Built target _ur_msgs_generate_messages_check_deps_SetSpeedSliderFraction
[ 0%] Built target _ur_msgs_generate_messages_check_deps_SetIO
[ 0%] Built target _ur_msgs_generate_messages_check_deps_MasterboardDataMsg
[ 0%] Built target std_msgs_generate_messages_nodejs
[ 0%] Built target std_msgs_generate_messages_eus
[ 0%] Built target _ur_msgs_generate_messages_check_deps_RobotStateRTMsg
[ 0%] Built target std_msgs_generate_messages_lisp
[ 0%] Built target std_msgs_generate_messages_py
[ 0%] Built target controller_manager_msgs_generate_messages_cpp
[ 0%] Built target rosgraph_msgs_generate_messages_eus
[ 0%] Built target roscpp_generate_messages_py
[ 0%] Built target roscpp_generate_messages_eus
[ 0%] Built target controller_manager_msgs_generate_messages_py
[ 0%] Built target roscpp_generate_messages_lisp
[ 0%] Built target controller_manager_msgs_generate_messages_lisp
[ 0%] Built target roscpp_generate_messages_cpp
[ 0%] Built target rosgraph_msgs_generate_messages_cpp
[ 0%] Built target controller_manager_msgs_generate_messages_eus
[ 0%] Built target controller_manager_msgs_generate_messages_nodejs
[ 0%] Built target roscpp_generate_messages_nodejs
[ 0%] Built target rosgraph_msgs_generate_messages_py
[ 0%] Built target rosgraph_msgs_generate_messages_lisp
[ 0%] Built target rosgraph_msgs_generate_messages_nodejs
[ 0%] Built target ur_driver_gencfg
[ 0%] Built target _ur_msgs_generate_messages_check_deps_RobotModeDataMsg
[ 0%] Built target _catkin_empty_exported_target
[ 0%] Built target sensor_msgs_generate_messages_nodejs
[ 0%] Built target _ur_msgs_generate_messages_check_deps_Analog
[ 2%] Built target ur_hardware_interface
[ 2%] Built target sensor_msgs_generate_messages_eus
[ 5%] Built target kinect2_registration
[ 5%] Built target sensor_msgs_generate_messages_py
[ 5%] Built target sensor_msgs_generate_messages_lisp
[ 5%] Built target sensor_msgs_generate_messages_cpp
[ 5%] Built target geometry_msgs_generate_messages_cpp
[ 5%] Built target geometry_msgs_generate_messages_py
[ 5%] Built target geometry_msgs_generate_messages_eus
[ 5%] Built target geometry_msgs_generate_messages_nodejs
[ 5%] Built target tf2_msgs_generate_messages_eus
[ 5%] Built target geometry_msgs_generate_messages_lisp
[ 5%] Built target tf2_msgs_generate_messages_py
[ 5%] Built target tf2_msgs_generate_messages_lisp
[ 5%] Built target actionlib_msgs_generate_messages_nodejs
[ 5%] Built target actionlib_msgs_generate_messages_py
[ 5%] Built target tf_generate_messages_lisp
[ 5%] Built target tf_generate_messages_nodejs
[ 5%] Built target actionlib_generate_messages_cpp
[ 5%] Built target tf_generate_messages_cpp
[ 5%] Built target actionlib_generate_messages_eus
[ 5%] Built target actionlib_msgs_generate_messages_eus
[ 5%] Built target actionlib_generate_messages_lisp
[ 5%] Built target actionlib_msgs_generate_messages_lisp
[ 5%] Built target tf2_msgs_generate_messages_cpp
[ 5%] Built target tf_generate_messages_py
[ 5%] Built target actionlib_generate_messages_nodejs
[ 5%] Built target actionlib_msgs_generate_messages_cpp
[ 5%] Built target tf_generate_messages_eus
[ 5%] Built target trajectory_msgs_generate_messages_nodejs
[ 5%] Built target tf2_msgs_generate_messages_nodejs
[ 5%] Built target actionlib_generate_messages_py
[ 5%] Built target trajectory_msgs_generate_messages_lisp
[ 5%] Built target std_srvs_generate_messages_cpp
[ 5%] Built target trajectory_msgs_generate_messages_cpp
[ 5%] Built target industrial_msgs_generate_messages_py
[ 5%] Built target control_msgs_generate_messages_py
[ 5%] Built target industrial_msgs_generate_messages_nodejs
[ 5%] Built target trajectory_msgs_generate_messages_eus
[ 5%] Built target industrial_msgs_generate_messages_lisp
[ 5%] Built target control_msgs_generate_messages_eus
[ 5%] Built target std_srvs_generate_messages_nodejs
[ 5%] Built target control_msgs_generate_messages_cpp
[ 5%] Built target control_msgs_generate_messages_nodejs
[ 5%] Built target trajectory_msgs_generate_messages_py
[ 5%] Built target industrial_msgs_generate_messages_cpp
[ 5%] Built target std_srvs_generate_messages_eus
[ 5%] Built target industrial_msgs_generate_messages_eus
[ 5%] Built target control_msgs_generate_messages_lisp
[ 5%] Built target std_srvs_generate_messages_lisp
[ 5%] Built target std_srvs_generate_messages_py
[ 7%] Built target ur10_kin
[ 8%] Built target ur3_kin
[ 10%] Built target ur5_kin
[ 10%] Built target control_toolbox_generate_messages_nodejs
[ 10%] Built target dynamic_reconfigure_generate_messages_py
[ 10%] Built target dynamic_reconfigure_gencfg
[ 10%] Built target dynamic_reconfigure_generate_messages_cpp
[ 10%] Built target dynamic_reconfigure_generate_messages_lisp
[ 10%] Built target dynamic_reconfigure_generate_messages_eus
[ 10%] Built target dynamic_reconfigure_generate_messages_nodejs
[ 10%] Built target control_toolbox_generate_messages_lisp
[ 10%] Built target control_toolbox_generate_messages_cpp
[ 10%] Built target control_toolbox_generate_messages_eus
[ 10%] Built target control_toolbox_generate_messages_py
[ 10%] Built target control_toolbox_gencfg
[ 17%] Built target ur_msgs_generate_messages_cpp
[ 25%] Built target ur_msgs_generate_messages_nodejs
[ 25%] Generating Python from MSG ur_msgs/Analog
[ 33%] Built target ur_msgs_generate_messages_eus
[ 35%] Generating Python from MSG ur_msgs/ToolDataMsg
[ 42%] Built target ur_msgs_generate_messages_lisp
[ 43%] Generating Python from MSG ur_msgs/MasterboardDataMsg
[ 46%] Built target kinect2_bridge_nodelet
[ 48%] Built target controller_stopper_node
[ 50%] Built target kinect2_bridge
[ 50%] Generating Python from MSG ur_msgs/Digital
[ 51%] Generating Python from MSG ur_msgs/IOStates
[ 52%] Built target kinect2_calibration
[ 52%] Generating Python from MSG ur_msgs/RobotStateRTMsg
[ 55%] Built target ur10_moveit_plugin
[ 55%] Built target kinect2_viewer
[ 56%] Generating Python from MSG ur_msgs/RobotModeDataMsg
[ 58%] Built target ur5_moveit_plugin
[ 60%] Generating Python code from SRV ur_msgs/SetSpeedSliderFraction
Traceback (most recent call last):
File "/opt/ros/kinetic/share/genpy/cmake/../../../lib/genpy/genmsg_py.py", line 44, in
import genpy.generator
File "/opt/ros/kinetic/lib/python2.7/dist-packages/genpy/init.py", line 34, in
from . message import Message, SerializationError, DeserializationError, MessageException, struct_I
File "/opt/ros/kinetic/lib/python2.7/dist-packages/genpy/message.py", line 44, in
import yaml
File "/usr/lib/python2.7/dist-packages/yaml/init.py", line 2, in
from error import *
ImportError: No module named 'error'
Traceback (most recent call last):
File "/opt/ros/kinetic/share/genpy/cmake/../../../lib/genpy/genmsg_py.py", line 44, in
import genpy.generator
File "/opt/ros/kinetic/lib/python2.7/dist-packages/genpy/init.py", line 34, in
from . message import Message, SerializationError, DeserializationError, MessageException, struct_I
File "/opt/ros/kinetic/lib/python2.7/dist-packages/genpy/message.py", line 44, in
import yaml
File "/usr/lib/python2.7/dist-packages/yaml/init.py", line 2, in
from error import *
ImportError: No module named 'error'
Traceback (most recent call last):
File "/opt/ros/kinetic/share/genpy/cmake/../../../lib/genpy/genmsg_py.py", line 44, in
import genpy.generator
File "/opt/ros/kinetic/lib/python2.7/dist-packages/genpy/init.py", line 34, in
from . message import Message, SerializationError, DeserializationError, MessageException, struct_I
File "/opt/ros/kinetic/lib/python2.7/dist-packages/genpy/message.py", line 44, in
import yaml
File "/usr/lib/python2.7/dist-packages/yaml/init.py", line 2, in
from error import *
ImportError: No module named 'error'
universal_robot/ur_msgs/CMakeFiles/ur_msgs_generate_messages_py.dir/build.make:72: recipe for target '/home/xinyi/catkin_ws/devel/lib/python3/dist-packages/ur_msgs/msg/_Analog.py' failed
make[2]: *** [/home/xinyi/catkin_ws/devel/lib/python3/dist-packages/ur_msgs/msg/_Analog.py] Error 1
make[2]: *** Waiting for unfinished jobs....
universal_robot/ur_msgs/CMakeFiles/ur_msgs_generate_messages_py.dir/build.make:77: recipe for target '/home/xinyi/catkin_ws/devel/lib/python3/dist-packages/ur_msgs/msg/_ToolDataMsg.py' failed
make[2]: *** [/home/xinyi/catkin_ws/devel/lib/python3/dist-packages/ur_msgs/msg/_ToolDataMsg.py] Error 1
Traceback (most recent call last):
File "/opt/ros/kinetic/share/genpy/cmake/../../../lib/genpy/genmsg_py.py", line 44, in
import genpy.generator
File "/opt/ros/kinetic/lib/python2.7/dist-packages/genpy/init.py", line 34, in
from . message import Message, SerializationError, DeserializationError, MessageException, struct_I
File "/opt/ros/kinetic/lib/python2.7/dist-packages/genpy/message.py", line 44, in
import yaml
File "/usr/lib/python2.7/dist-packages/yaml/init.py", line 2, in
from error import *
ImportError: No module named 'error'
Traceback (most recent call last):
File "/opt/ros/kinetic/share/genpy/cmake/../../../lib/genpy/genmsg_py.py", line 44, in
import genpy.generator
File "/opt/ros/kinetic/lib/python2.7/dist-packages/genpy/init.py", line 34, in
from . message import Message, SerializationError, DeserializationError, MessageException, struct_I
File "/opt/ros/kinetic/lib/python2.7/dist-packages/genpy/message.py", line 44, in
import yaml
File "/usr/lib/python2.7/dist-packages/yaml/init.py", line 2, in
from error import *
ImportError: No module named 'error'
universal_robot/ur_msgs/CMakeFiles/ur_msgs_generate_messages_py.dir/build.make:82: recipe for target '/home/xinyi/catkin_ws/devel/lib/python3/dist-packages/ur_msgs/msg/_MasterboardDataMsg.py' failed
make[2]: *** [/home/xinyi/catkin_ws/devel/lib/python3/dist-packages/ur_msgs/msg/_MasterboardDataMsg.py] Error 1
universal_robot/ur_msgs/CMakeFiles/ur_msgs_generate_messages_py.dir/build.make:87: recipe for target '/home/xinyi/catkin_ws/devel/lib/python3/dist-packages/ur_msgs/msg/_Digital.py' failed
make[2]: *** [/home/xinyi/catkin_ws/devel/lib/python3/dist-packages/ur_msgs/msg/_Digital.py] Error 1
Traceback (most recent call last):
File "/opt/ros/kinetic/share/genpy/cmake/../../../lib/genpy/genmsg_py.py", line 44, in
import genpy.generator
File "/opt/ros/kinetic/lib/python2.7/dist-packages/genpy/init.py", line 34, in
universal_robot/ur_msgs/CMakeFiles/ur_msgs_generate_messages_py.dir/build.make:94: recipe for target '/home/xinyi/catkin_ws/devel/lib/python3/dist-packages/ur_msgs/msg/_IOStates.py' failed
make[2]: *** [/home/xinyi/catkin_ws/devel/lib/python3/dist-packages/ur_msgs/msg/_IOStates.py] Error 1
from . message import Message, SerializationError, DeserializationError, MessageException, struct_I
File "/opt/ros/kinetic/lib/python2.7/dist-packages/genpy/message.py", line 44, in
import yaml
File "/usr/lib/python2.7/dist-packages/yaml/init.py", line 2, in
from error import *
ImportError: No module named 'error'
[ 61%] Built target ur_controllers
[ 62%] Built target ur3_moveit_plugin
Traceback (most recent call last):
File "/opt/ros/kinetic/share/genpy/cmake/../../../lib/genpy/genmsg_py.py", line 44, in
import genpy.generator
File "/opt/ros/kinetic/lib/python2.7/dist-packages/genpy/init.py", line 34, in
from . message import Message, SerializationError, DeserializationError, MessageException, struct_I
File "/opt/ros/kinetic/lib/python2.7/dist-packages/genpy/message.py", line 44, in
import yaml
File "/usr/lib/python2.7/dist-packages/yaml/init.py", line 2, in
from error import *
ImportError: No module named 'error'
universal_robot/ur_msgs/CMakeFiles/ur_msgs_generate_messages_py.dir/build.make:99: recipe for target '/home/xinyi/catkin_ws/devel/lib/python3/dist-packages/ur_msgs/msg/_RobotStateRTMsg.py' failed
make[2]: *** [/home/xinyi/catkin_ws/devel/lib/python3/dist-packages/ur_msgs/msg/_RobotStateRTMsg.py] Error 1
universal_robot/ur_msgs/CMakeFiles/ur_msgs_generate_messages_py.dir/build.make:104: recipe for target '/home/xinyi/catkin_ws/devel/lib/python3/dist-packages/ur_msgs/msg/_RobotModeDataMsg.py' failed
make[2]: *** [/home/xinyi/catkin_ws/devel/lib/python3/dist-packages/ur_msgs/msg/_RobotModeDataMsg.py] Error 1
Traceback (most recent call last):
File "/opt/ros/kinetic/share/genpy/cmake/../../../lib/genpy/gensrv_py.py", line 43, in
import genpy.generator
File "/opt/ros/kinetic/lib/python2.7/dist-packages/genpy/init.py", line 34, in
from . message import Message, SerializationError, DeserializationError, MessageException, struct_I
File "/opt/ros/kinetic/lib/python2.7/dist-packages/genpy/message.py", line 44, in
import yaml
File "/usr/lib/python2.7/dist-packages/yaml/init.py", line 2, in
from error import *
ImportError: No module named 'error'
universal_robot/ur_msgs/CMakeFiles/ur_msgs_generate_messages_py.dir/build.make:109: recipe for target '/home/xinyi/catkin_ws/devel/lib/python3/dist-packages/ur_msgs/srv/_SetSpeedSliderFraction.py' failed
make[2]: *** [/home/xinyi/catkin_ws/devel/lib/python3/dist-packages/ur_msgs/srv/_SetSpeedSliderFraction.py] Error 1
CMakeFiles/Makefile2:1047: recipe for target 'universal_robot/ur_msgs/CMakeFiles/ur_msgs_generate_messages_py.dir/all' failed
make[1]: *** [universal_robot/ur_msgs/CMakeFiles/ur_msgs_generate_messages_py.dir/all] Error 2
Makefile:138: recipe for target 'all' failed
make: *** [all] Error 2
Invoking "make -j8 -l8" failed

I doubt if the issue is caused by python version.
And below is what I get if I use command "echo $PYTHONPATH":

/opt/ros/kinetic/lib/python2.7/dist-packages:/home/xinyi/catkin_ws/devel/lib/python3/dist-packages:/usr/lib/python2.7/dist-packages

Thanks for your help!
Best.

URDF not updating with frames

Summary

I am trying the driver with a real UR10 and if I launch it and open rviz I am not able to see the robot model in its real position. The frames on the other hand, are properly placed in position and the topic of the joint states publishes the correct positions.
I am also able to move the robot with the rqt_joint_trajectory_controller.

I've tried it with two different UR10 and I got the same result.

Versions

  • ROS Driver version: ros kinetic
  • Affected Robot Software Version(s): 3.7.040195
  • Robot Serial Number:2018309743
  • UR+ product(s) installed: none
  • URCaps Software version(s): 1.0.1

Impact

Apparently it is just the visualization of the URDF model that isn't correct but we won't be able to use moveit this way.

Issue details

I install the URCap as specified in the ReadMe file and launch it.
In the ros connected machine I run the calibration command
$ roslaunch ur_calibration calibration_correction.launch
robot_ip:=192.168.0.210 target_filename:="${HOME}/my_robot_calibration.yaml"

And then

roslaunch ur_robot_driver ur10_bringup.launch robot_ip:=192.168.0.210
kinematics_config:="${HOME}/my_robot_calibration.yaml"

And get the connection with the robot when executing the program in the UR with the external control block.
I am able to move the robot with the trajectory controller, read properly the joint states, the frames are in the real position but the URDF model of the arm stays in position o.

Use Case and Setup

We are trying to update all our robots with the new driver and test it in different ways.

Project status at point of discovered

When did you first observe the issue?
I observed the issue when opening RVIZ

Expected Behavior

I expected the URDF model of the arm to be updated with the real position

Actual Behavior

URDF model of the arm stays in the zero position. I attach a screenshot.
issue_UR_driver

Workaround Suggestion

If a workaround has been found, you are welcome to share.

unable to control UR5e robot

Introduction to the issue
I downloaded and built the universital_robot_ros_driver package and the fmatch_universial_robot package .(and also the external control URcap) And I can see the real pose of the robot, but it cannot execute through rqt or moveit(I mean the robot doesn't move at all.)

Versions

  • ROS Driver version: melodic
  • Affected Robot Software Version(s): 5.3.0
  • Affected Robot Hardware Version(s): Ur5e
  • Robot Serial Number:
  • UR+ product(s) installed:
  • URCaps Software version(s): external control 1.0.1

#my procedures

  1. Use the cable to connect the PC and the robot, set the correct IP address and ping it successfully.
  2. launch the ur5e bringup file.
  3. since I can't press the program play button after turning into remote control or turn into remote control after playing the program, i turn into remote mode first and then use the sockettest software to communicate with the robot, load and play the program. Then I see "Robot ready to receive control commands."
  4. In this step I also tried the command
    rosservice call /controller_manager/switch_controller "{start_controllers: [ 'scaled_pos_traj_controller'], stop_controllers: [ 'scaled_pos_traj_controller'], strictness: 1}"

and received "ok:ture"
With or without this command, I didn't see any difference in the rosservice list. Just a try.

  1. I tried the rosrun rqt_joint_trajectory_controller rqt_joint_trajectory_controller
    command with the error
    Traceback (most recent call last):
    File "/home/bodon/catkin_ws/src/ros_controllers/rqt_joint_trajectory_controller/src/rqt_joint_trajectory_controller/joint_trajectory_controller.py", line 416, in _update_cmd_cb
    pos = self._joint_pos[name]['position']
    KeyError: 'position'

    I have no idea about how to solve this.
  2. Then I tried the moveit. But the ur5_e_moveit_planning_execution.launch has error about this:
    [ERROR] [1575962118.560119003]: Exception while loading move_group capability 'move_group/MoveGroupExecuteService': MultiLibraryClassLoader: Could not create object of class type move_group::MoveGroupExecuteService as no factory exists for it. Make sure that the library exists and was explicitly loaded through MultiLibraryClassLoader::loadLibrary()

I changed the move_group/MoveGroupExecuteService to MoveGroupExecuteTrajectoryAction in move_group.launch, the error disappeared.
Then I tried to move the robot in rviz interface, the plan successed, but the execute failed with error
ABORTED: Solution found but controller failed during execution
Also, at the first, I have already changed to action_ns to scaled_pos_traj_controller/follow_joint_trajectory in controller.yam.

  1. Actually, I have another moveit_config package which i used before to do the rviz simulation. I use this package to contain the urdf from the fmatch_universial_robot package, and do the moive it in rviz. No errors occured, even it said execute successfully. But the real robot didn't move, either. Then i found maybe I should also change to scaled_pos_traj_controller/follow_joint_trajectory in this package's controller.yam. Then error occured,
    Action client not connected: /scaled_pos_traj_controller/joint_trajectory_action

Unable to identify any set of controllers that can actuate the specified joints: [ elbow_joint shoulder_lift_joint shoulder_pan_joint wrist_1_joint wrist_2_joint wrist_3_joint ]
[ERROR] [1575966062.495484247]: Known controllers and their joints:

Sending URScript commands for gripper have no effect

Summary

I am trying to control the Robotiq 2f-85 gripper on the UR5 by sending URScript commands.

I am publishing the commands to the /ur_hardware_interface/script_command topic

Example:

rostopic pub -1 /ur_hardware_interface/script_command std_msgs/String "rq_open()"

rq_open() and rq_close() are used to open and close the gripper. The gripper is activated before executing these commands.

The script commands work fine when executing them as separate Script Code nodes on the PolyScope tablet.

Why won't the commands work when publishing them to the /ur_hardware_interface/script_command topic?

The ROS driver is running on both the robot side and PC side.

I am running ROS Kinetic on Ubuntu 16.04 Xenial natively on a laptop PC.

Versions

  • ROS Driver version: 0.0.3
  • Affected Robot Software Version(s): 3.9.1
  • Affected Robot Hardware Version(s): CB3.0 (will upgrade soon to CB3.1)
  • Robot Serial Number: 2015351381
  • UR+ product(s) installed: n/a
  • URCaps Software version(s): Robotiq_grippers 1.2.1, External Control 1.0.1

Impact

The coupling between the UR5 and the Robotiq gripper will be upgraded soon to a (wireless) interface through the wrist socket, which results in that the gripper cannot be controlled through the official Robotiq driver anymore.

Use Case and Setup

The objective is to control the Robotiq 2F-85 gripper without the need of the Robotiq driver but in a simple way. That is why I want to use the URscript commands.

Steps to Reproduce

Make sure the Robotiq 2F-85 Gripper is installed to the UR5 robot, in case of a USB cable, plug it in the controller.

  • Run ur_robot_driver on both the the robot side (external control) and ROS side (pc)
  • Install the robotiq_grippers URcap, make sure the led turns blue on the Robotiq gripper
  • Publish gripper commands (strings) in the following order to the topic called /ur_hardware_interface/script_command
    rq_reset() -> rq_activate() -> rq_open() -> rq_close()

Expected Behavior

I expected the gripper to perform opening and closing operations.

Actual Behavior

The gripper didn't move at all.

Workaround Suggestion

Using the Robotiq driver (http://wiki.ros.org/robotiq), please note that this driver is not compatible with the wireless wrist socket coupling interface for the Robotiq gripper and the UR5.

Can't accept new action goals

Versions

  • ROS Driver version: Kinetic+ubuntu16.04
  • URCaps Software version(s): 5.2 for UR5e

Summary

I am trying to control the robot arm with moveit planning. Before I start, I have changed the controller.yaml (added the name of "scaled_pos_traj_controller".) under the directory: /home/ur_ros_driver/src/universal_robot/ur5_e_moveit_config/config/controllers.yaml to:
controller_list:

  • name: scaled_pos_traj_controller
    action_ns: follow_joint_trajectory
    type: FollowJointTrajectory
    joints:
    • shoulder_pan_joint
    • shoulder_lift_joint
    • elbow_joint
    • wrist_1_joint
    • wrist_2_joint
    • wrist_3_joint

Then,
Here are the commands I run:
terminal1:
roslaunch ur_robot_driver ur5e_bringup.launch use_tool_communication:=true tool_voltage:=24 tool_parity:=0 tool_baud_rate:=115200 tool_stop_bits:=1 tool_rx_idle_chars:=1.5 tool_tx_idle_chars:=3.5 robot_ip:=localhost tool_device_name:=/tmp/ttyUR

output in terminal 1:
SUMMARY

..........................................................
[ INFO] [1571057474.798657612]: waitForService: Service [/controller_manager/switch_controller] is now available.
[ INFO] [1571057474.798678524]: Service available.
[ INFO] [1571057474.798690795]: Waiting for controller list service to come up on /controller_manager/list_controllers
[ INFO] [1571057474.799467582]: Service available.
Loaded pos_traj_controller
[INFO] [1571057475.047821]: Controller Spawner: Waiting for service controller_manager/switch_controller
[INFO] [1571057475.053126]: Controller Spawner: Waiting for service controller_manager/unload_controller
[INFO] [1571057475.058700]: Loading controller: joint_state_controller
[INFO] [1571057475.080503]: Loading controller: scaled_pos_traj_controller
[ros_control_controller_manager-6] process has finished cleanly
log file: /home/p285253/.ros/log/4b68eaba-ee81-11e9-ad8b-10e7c621ac30/ros_control_controller_manager-6*.log
[INFO] [1571057475.130185]: Loading controller: speed_scaling_state_controller
[INFO] [1571057475.136354]: Loading controller: force_torque_sensor_controller
[INFO] [1571057475.142168]: Controller Spawner: Loaded controllers: joint_state_controller, scaled_pos_traj_controller, speed_scaling_state_controller, force_torque_sensor_controller
[INFO] [1571057475.146020]: Started controllers: joint_state_controller, scaled_pos_traj_controller, speed_scaling_state_controller, force_torque_sensor_controller

terminal 2:
roslaunch ur5_e_moveit_config ur5_e_moveit_planning_execution.launch

output in terminal 2:

SUMMARY
========
......
Loading 'move_group/MoveGroupExecuteTrajectoryAction'...
Loading 'move_group/MoveGroupGetPlanningSceneService'...
Loading 'move_group/MoveGroupKinematicsService'...
Loading 'move_group/MoveGroupMoveAction'...
Loading 'move_group/MoveGroupPickPlaceAction'...
Loading 'move_group/MoveGroupPlanService'...
Loading 'move_group/MoveGroupQueryPlannersService'...
Loading 'move_group/MoveGroupStateValidationService'...
[ INFO] [1571057485.001531619]:

MoveGroup using:
- ApplyPlanningSceneService
- ClearOctomapService
- CartesianPathService
- ExecuteTrajectoryService
- ExecuteTrajectoryAction
- GetPlanningSceneService
- KinematicsService
- MoveAction
- PickPlaceAction
- MotionPlanService
- QueryPlannersService
- StateValidationService

[ INFO] [1571057485.001673346]: MoveGroup context using planning plugin ompl_interface/OMPLPlanner
[ INFO] [1571057485.001738112]: MoveGroup context initialization complete

You can start planning now!

terminal 3:
roslaunch ur5_e_moveit_config moveit_rviz.launch config:=true
Output in terminal 3:

SUMMARY
========

PARAMETERS

  • /rosdistro: kinetic
  • /rosversion: 1.12.14

NODES
/.....

ROS_MASTER_URI=http://localhost:11311

process[rviz_16537_630804599505087381-1]: started with pid [16554]
[ INFO] [1571057841.383674351]: rviz version 1.12.17
[ INFO] [1571057841.383710056]: compiled against Qt version 5.5.1
[ INFO] [1571057841.383720504]: compiled against OGRE version 1.9.0 (Ghadamon)
[ INFO] [1571057842.091827903]: Stereo is NOT SUPPORTED
[ INFO] [1571057842.091884976]: OpenGl version: 4.6 (GLSL 4.6).
[ INFO] [1571057845.459273996]: Loading robot model 'ur5e'...
[ WARN] [1571057845.459309856]: Skipping virtual joint 'fixed_base' because its child frame 'base_link' does not match the URDF frame 'world'
[ INFO] [1571057845.459327487]: No root/virtual joint specified in SRDF. Assuming fixed joint
[ INFO] [1571057845.501690245]: Loading robot model 'ur5e'...
[ WARN] [1571057845.501713478]: Skipping virtual joint 'fixed_base' because its child frame 'base_link' does not match the URDF frame 'world'
[ INFO] [1571057845.501722193]: No root/virtual joint specified in SRDF. Assuming fixed joint
[ INFO] [1571057845.584452163]: Starting scene monitor
[ INFO] [1571057845.588821042]: Listening to '/move_group/monitored_planning_scene'
[ INFO] [1571057845.974598923]: Constructing new MoveGroup connection for group 'manipulator' in namespace ''
[ WARN] [1571057846.827265585]:
Deprecation warning: Trajectory execution service is deprecated (was replaced by an action).
Replace 'MoveGroupExecuteService' with 'MoveGroupExecuteTrajectoryAction' in move_group.launch
[ INFO] [1571057846.842176006]: Ready to take commands for planning group manipulator.
[ INFO] [1571057846.842297713]: Looking around: no
[ INFO] [1571057846.842375344]: Replanning: no
[ WARN] [1571057846.849456909]: Interactive marker 'EE:goal_ee_link' contains unnormalized quaternions. This warning will only be output once but may be true for others; enable DEBUG messages for ros.rviz.quaternions to see more details.

Then, I planned a motion in Rviz, it succeeds, but when I press the execute button,
errors happpened:
New Output in terminal 1:

[ERROR] [1571057857.641259323]: Can't accept new action goals. Controller is not running.

New outputs in terminal 2:

[ INFO] [1571057853.198470389]: manipulator[RRTConnectkConfigDefault]: Created 5 states (2 start + 3 goal)
[ INFO] [1571057853.198749599]: manipulator[RRTConnectkConfigDefault]: Created 5 states (2 start + 3 goal)
[ INFO] [1571057853.198825319]: ParallelPlan::solve(): Solution found by one or more threads in 0.001333 seconds
[ INFO] [1571057853.204060450]: SimpleSetup: Path simplification took 0.005165 seconds and changed from 3 to 2 states
[ INFO] [1571057853.211439154]: Planning adapters have added states at index positions: [ 0 ]
[ INFO] [1571057857.638956931]: Received new trajectory execution service request...
[ WARN] [1571057857.641742353]: Controller scaled_pos_traj_controller failed with error code INVALID_GOAL
[ WARN] [1571057857.641909116]: Controller handle scaled_pos_traj_controller reports status FAILED
[ INFO] [1571057857.641984913]: Completed trajectory execution with status FAILED ...
[ INFO] [1571057857.642147358]: Execution completed: FAILED

It seems the scaled_pos_traj_controller can not communicate with the moveit. The moveit package that I was running is from the Build guidance:
git clone -b calibration_devel https://github.com/fmauch/universal_robot.git.

Is there someone who has any ideas for this problem?

Connection setup failed for :50002

Summary

I have two robots setup and launching two driver nodes on one PC. Launch fails on attempt to run second driver instance.

From error log message (please find at Issue details section) seems like it needs this TODO implemented:

uint32_t script_sender_port = 50002; // TODO: Make this a parameter

Versions

  • ROS Driver version: commit 0bec493
  • Affected Robot Software Version(s): please ask if important
  • Affected Robot Hardware Version(s): please ask if important
  • Robot Serial Number: please ask if important
  • UR+ product(s) installed: please ask if important
  • URCaps Software version(s): please ask if important

Impact

Impossible to use more then one driver instance on one PC.

Issue details

Please find driver log error message below

[ INFO] [1574698359.241920363]: Setting up RTDE communication with frequency 500.000000
[ERROR] [1574698360.273018129]: Connection setup failed for :50002
terminate called after throwing an instance of 'std::runtime_error'
  what():  Could not bind to server
================================================================================REQUIRED process [green/robot/ur_hardware_interface-2] has died!
process has died [pid 20560, exit code -6, cmd /home/khassanov/Workspace/remy/after_oven_ros/devel/lib/ur_robot_driver/ur_robot_driver_node __name:=ur_hardware_interface __log:=/home/khassanov/.ros/log/9777a6be-0f90-11ea-bd6a-c485089fc0e0/green-robot-ur_hardware_interface-2.log].
log file: /home/khassanov/.ros/log/9777a6be-0f90-11ea-bd6a-c485089fc0e0/green-robot-ur_hardware_interface-2*.log
Initiating shutdown!
================================================================================

Use Case and Setup

Setup: two URSim UR5

Steps to Reproduce

  1. Launch 2 instances of URSim,
  2. Launch two instances of this package in different namespaces with IP addresses to connect to URSim instances,
  3. Attempting to launch second instance of robot driver will produce you the error.

Expected Behavior

One can use this driver to control a setup with multiple robots.

Actual Behavior

Second instance of driver fails with an error on launch.

Workaround Suggestion

Seems like it works if there is another mahine (possible virtual) to launch second driver instance, but I did not check. Another workaround seems possible is to build a copy of this driver with

  uint32_t script_sender_port = 50003;

UPD
Workaround with a node on virtual machine works for me.

Probe for sending script code on eSeries

When an e-Series robot runs in local mode, script code sent through the primary interface is ignored. However, the user doesn't get notified of this. Unfortunately, we cannot read whether the robot is currently in remote_control_mode or in local_mode.

The idea is to write a small probe routine that tries to send a string through a socket via script code and see whether we receive this string on the remote side.

TypeError: sequence item 2: expected string, int found

Summary

Following the instructions need to setup tool communication link, I encountered the following issue.

Screenshot from 2019-10-17 18-55-56

[Textual Interpretation]

File "/home/user/catkin_ws/src/Universal_Robots_ROS_Driver/ur_robot_driver/scripts/tool_communication", line 31, in main
    cmd.append(":".join(["tcp", robot_ip, tcp_port]))
TypeError: sequence item 2: expected string, int found

Versions

  • ROS Driver version: PolyScope 5.4
  • Affected Robot Software Version(s): ur3e
  • Affected Robot Hardware Version(s):
  • Robot Serial Number:
  • UR+ product(s) installed:ur3e
  • URCaps Software version(s): externalcontrol-1.0.urcap

Issue details

To provide more context to my issue, I encountered this problem as I am trying to integrate a Robotiq 2 Fingered 85mm gripper as the UR3e end effector. A USB to RS-485 wire connects the gripper to the UR3e control box digital I/O as well as USB port.

My goal is to communicate via TCP and send scripts to open and close the gripper. However, as it is required to run the ExtCon.urp URcap program under Local, I am unable to achieve the above.

URScript via topic cancels robot program on controller

I have a question or rather a functionallity question. Currently we control the robot partly by script commands via the ROS topic and partly by a program on the robot. The program gets canceled if there are commands send via the topic. We solve this issue by restarting the program on the controller by setting of an IO. The problem is that the loading takes a few seconds which is not good for our time critical process.
Is there a way to not cancel the running program on the robot controller when sending commands via the topic?
It is currently not possible to do the whole execution via script commands and without the program on the controller.

Feature: introduce a "roswtf" or "ros doctor"

Idea is to introduce a small utility that would be able to check whether configuration and setup of the robot controller and driver is as it should be, and prints a report of identified potential issues if this is not the case.

Compare this to roswtf and the new ROS 2 doctor commands.

List of things to check (@fmauch feel free to add to the list):

  • 'reverse port' configured in the External Control urcap on the controller
  • IP configured in the External Control urcap on the controller
  • whether URCap is running (in situations where it should be running)
  • system software version of the controller
  • checking the correct controllers have been configured/started (#68)

Additional items could be added based on issues opened here on the tracker.

Intent is to help users avoid common configuration mistakes and by achieving this to reduce the number of support requests logged on the tracker.

Document / change blocking behavior of read() function

In #34 it was raised that the robot controller dictates the loop rate by having implemented the read() function blocking.

This was in fact a design choice, but I realize, that this is an issue when using this driver in a combined_hw interface.

In a first step we should at least document this. A second step could be to take a step back and think about the advantages, disadvantages and alternatives to the implemented approach with keeping both, close-real-time behavior and combined_hw support in mind.

Validate RTDE recipe during handshake

Currently, we do not check whether the robot accepted our recipe correctly, but only check whether there has been an answer. We should check if any recipe field has datatype "NOT_FOUND" in the answer string and then exit.

UR10e lag problem with externalcontrol-1.0.1.urcap

Introduction to the issue
I successfully downloaded and built the ROS driver on the ROS PC. I installed the External Control URCap and created a new program ‘external_control_ros’ on the UR10e as explained in the setup guide. However, the start of the program ‘external_control_ros’ takes around two minutes before the program actually executes and shows that the connection to the remote PC could not be established. However, IP addresses and URCap settings should be fine because on the day before it was already working, i.e. I was able to plan and execute a trajectory with MoveIt. However, after saving the settings (installation, program) and a restart of the UR on the next day, it was not working anymore.

Versions

  • ROS Driver version: Melodic
  • Affected Robot Software Version(s): 5.5.1 / 5.6.0
  • Affected Robot Hardware Version(s): UR10e
  • URCaps Software version(s): external control 1.0.1

Impact and issue details

Installation of 'externalcontrol-1.0.1.urcap' leads to a lag time between pressing "play" on UR and program start. The lag is independent on the program. For example, if I start a different program (not ROS related), then the program start takes around two minutes as well but the execution works normally, i.e. the robot moves its desired path. If I uninstall the External Control URCap, then the lag is reduced to just a few seconds but this is still slightly slower than prior the first URCap installation. A reinstall of the URCap leads again to the same behaviour (lag of two minutes). Sometimes not just the program but also the whole software seems to lag. After the upgrade to UR Software 5.6.0 I still have the same problem. Reinstalling the URCap did not help either. Details should be shown in the log history. The problems with URCap started on 10th of December 2019 (2019-12-10)

I also tried two different SD cards, installed new UR robot images (5.5.1 & 5.6.0) on it and included the important files from the original SD card. I followed the instructions of the document 'install-new-image-all-types.pdf' (Version 0.0.2) for the data backup and image installation. However, after normal boot-up and installation of the external control URCap, i still had the same lag problem and could not establish the connection to the remote PC.

IP addresses:

  • Remote PC: 192.168.10.120
  • UR10e: 192.168.10.122
  • External Control Host: 192.168.10.120

Steps to Reproduce

Install externalcontrol-1.0.1.urcap on UR10e

Help would be very appreciated.

Thanks and best regards.

log_history.txt

What is the recommended controller type for streaming?

With ur_modern_driver, I would use a JointGroupPositionController or JointGroupVelocityController to stream individual commands at a high frequency. Is the scaled_joint_trajectory_controller suitable for streaming in real-time (500 Hz)? What about the speed_scaling_state_controller?

Do they use an action interface? If so, they will be too slow

Not able to control the UR10e, issue with controllers

Hi, Just recently I started to use the new ur driver for my ur10e. I followed the steps of setting up the UR robot driver for UR10e. After installing the external control.urcap and also a bunch of relevant ROS packages, I am able to run the ur_robot_driver's ur10e bringup. Iam able to visualize the current robot state with RVIz.

However the problem comes when I send in a planned trajectory to the ur_robot_driver from moveit (melodic). My "ros PC" is not able to control the robot. Here's the printout.

These are the printouts during startup

[INFO] [1575439049.914691]: Loading controller: speed_scaling_state_controller
[INFO] [1575439049.922537]: Loading controller: force_torque_sensor_controller
[ERROR] [1575439049.925483887]: Could not load controller 'force_torque_sensor_controller' because controller type 'force_torque_sensor_controller/ForceTorqueSensorController' does not exist.
[ERROR] [1575439049.925529312]: Use 'rosservice call controller_manager/list_controller_types' to get the available types
[ INFO] [1575439049.948150506]: Robot's safety mode is now NORMAL
[ INFO] [1575439049.949624652]: Robot mode is now RUNNING
[ERROR] [1575439050.925985]: Failed to load force_torque_sensor_controller
[INFO] [1575439050.927156]: Controller Spawner: Loaded controllers: joint_state_controller, scaled_pos_traj_controller, speed_scaling_state_controller
[INFO] [1575439050.930308]: Started controllers: joint_state_controller, scaled_pos_traj_controller, speed_scaling_state_controller
[ INFO] [1575439051.858623603]: Loading robot model 'ur10e'...
[ WARN] [1575439051.858674367]: Skipping virtual joint 'fixed_base' because its child frame 'base_link' does not match the URDF frame 'world'
[ INFO] [1575439051.858696881]: No root/virtual joint specified in SRDF. Assuming fixed joint
[ WARN] [1575439051.898240782]: Kinematics solver doesn't support #attempts anymore, but only a timeout.
Please remove the parameter '/rviz_dp2workcell_NUC7i5BNH_10527_4730851679228347204/manipulator/kinematics_solver_attempts' from your configuration.
[ INFO] [1575439052.027892145]: Starting planning scene monitor
[ INFO] [1575439052.030964174]: Listening to '/move_group/monitored_planning_scene'
[ INFO] [1575439052.032057688]: waitForService: Service [/get_planning_scene] has not been advertised, waiting...
[ WARN] [1575439053.092445076]: Waiting for /follow_joint_trajectory to come up
[ INFO] [1575439057.033862535]: Failed to call service get_planning_scene, have you launched move_group? at /tmp/binarydeb/ros-melodic-moveit-ros-planning-1.0.2/planning_scene_monitor/src/planning_scene_monitor.cpp:495
[ INFO] [1575439057.651705875]: Constructing new MoveGroup connection for group 'manipulator' in namespace ''
[ WARN] [1575439059.092661121]: Waiting for /follow_joint_trajectory to come up
[ERROR] [1575439064.552758494]: An error has occurred during frame callback: Error occured during execution of the processing block! See the log for more info
[ERROR] [1575439065.092905191]: Action client not connected: /follow_joint_trajectory

These are the printout when a trajectory srv is received

[ INFO] [1575437926.650551896]: RRTConnect: Starting planning with 1 states already in datastructure
[ INFO] [1575437926.650757552]: RRTConnect: Starting planning with 1 states already in datastructure
[ INFO] [1575437926.653505540]: RRTConnect: Created 5 states (3 start + 2 goal)
[ INFO] [1575437926.653893412]: RRTConnect: Created 4 states (2 start + 2 goal)
[ INFO] [1575437926.667716032]: RRTConnect: Created 5 states (2 start + 3 goal)
[ INFO] [1575437926.669611105]: RRTConnect: Created 7 states (3 start + 4 goal)
[ INFO] [1575437926.669743583]: ParallelPlan::solve(): Solution found by one or more threads in 0.022276 seconds
[ INFO] [1575437926.671988970]: RRTConnect: Starting planning with 1 states already in datastructure
[ INFO] [1575437926.688229656]: RRTConnect: Created 7 states (3 start + 4 goal)
[ INFO] [1575437926.688540964]: ParallelPlan::solve(): Solution found by one or more threads in 0.018659 seconds
[ INFO] [1575437926.707053023]: SimpleSetup: Path simplification took 0.018263 seconds and changed from 3 to 2 states
[ INFO] [1575437926.710855373]:  [Arm Controller: /] Executing Joint Space Motion...
[ INFO] [1575437926.713613360]: Execution request received
[ INFO] [1575437926.713994353]: Returned 0 controllers in list
[ERROR] [1575437926.714121772]: Unable to identify any set of controllers that can actuate the specified joints: [ elbow_joint shoulder_lift_joint shoulder_pan_joint wrist_1_joint wrist_2_joint wrist_3_joint ]
[ERROR] [1575437926.714171562]: Known controllers and their joints:

[ INFO] [1575437926.714858177]: ABORTED: Solution found but controller failed during execution
[ERROR] [1575437926.715035262]:  Failed in executing planned motion path
[ERROR] [1575437926.715196832]: 

While follow the steps, the problem here seems to be on the ros controller node. Also, fyi i used my same code and it works while using the depreciated ur_modern_driver PR with minimal setup,

Hope someone can help me with this issue. Thanks!!!

Remote URScript execution best practice

Hello. I need to execute URScript functions remotely generated on-the-fly. I've tried raw socket interface and this driver /ur_hardware_interface/script_command topic. Raw socket interface provides response when function execution ends. It is important while this let me know when to send a next one. In this driver ROS API I have not find how to get the same notification (function published ends) for a functions sent to the script_command topic.

I use a little trick: set and reset io pin in the beginning and in the end of function. Like this:

def my_func():
    set_digital_out(5, True)
    # function body
    set_digital_out(5, False)
end

This way I can track function execution in my higher-level code looking at io pin state by /ur_hardware_interface/io_states topic.

I see #16 provides ROS API for dashboard, but as I understand, it works only with scripts in controller memory. This means for on-the-fly remotely generated URScript functions, I have to load new one by ssh / scp in filesystem and don't forget to delete them sometimes.

Is there a better practice or which one recommended? Thank you.

socket_read_binary_integer:timeout

Summary

Hello,
We have a problem with the connection stability and can not find any more clues how to solve this.
After running
roslaunch ur_robot_driver ur10e_bringup.launch robot_ip:=10.2.1.26
the connection is established successfully and at first everything works fine.
After a couple of seconds up to about one minute the connection gets terminated, as we found out later from the tablet (see tablet log image), and rebuild again.
If the connection is stable long enough we are able to start the motion planning library and the simple control GUI with
roslaunch ur10_e_moveit_config ur10_e_moveit_planning_execution.launch limited:=true
rosrun rqt_joint_trajectory_controller rqt_joint_trajectory_controller
To control the robot with this works until the connection is lost again.
If we want to use moveit with
roslaunch ur10_e_moveit_config moveit_rviz.launch config:=true
anything crashes instantly.
Since we thought the system is maybe too slow, (because of the timeout problem and the juddery movements) we tried to switch to a real time kernel which seemed to have worked (choosen kernel image is correct) but ROS reports, that it can not detect realtime capability (see warning at the top part) and the connection is lost even faster than before.
The error message about fresh packages occurs right after launching the RViz GUI.

In the same workspace as the robot package is the ros_controllers package.
We invoked catkin_make after the kernel switch.

Edit:
The connection is wireless with a server in between the robot and the PC.

Thank you for your time!
Best regards,
Matthias and Team

UR_tablet_error_log

error_log

Versions

  • ROS Driver version: Kinetic
  • Affected Robot Software Version(s): 5.2
  • Affected Robot Hardware Version(s): UR10e
  • Robot Serial Number:
  • UR+ product(s) installed:
  • URCaps Software version(s):

actionlib client not working

Summary

I am trying to create an actionlib client to send joint positions to the actionlib server.

Impact

The client is stuck at client.waiting_for_server()

Issue details

Here is the code snippet I am running:

def ur_move_client():
	client = actionlib.SimpleActionClient('foo', FollowJointTrajectoryAction)
	print("0")
	pprint(client)
	client.wait_for_server()
	print("1")

	goal = control_msgs.msg.FollowJointTrajectoryActionGoal()
	print(goal)
	goal.goal.trajectory.joint_names = ['base','shoulder', 'elbow', 'wrist1', 'wrist2', 'wrist3']
	goal.goal.trajectory.points  = [-178.73, -67.50, -105.47, -191.12, -80.19, -91.92]
	client.send_goal(goal)	
	client.wait_for_result()
	print("2")

if __name__ == '__main__':
	rospy.init_node('ur_move')
	rospy.sleep(2.0)

	ur_move_client()

Project status at point of discovered

The robot moves when controlled from the GUI.
Here is the rqt_plot
The client node is ur_move

"Received new trajectory execution service request..." get stuck and robot didn't movet

Summary

It seems that the ur5e received trajectory request but didn't execute it.

Versions

  • ROS Driver version: Kinetic+Ubuntu 16.04
  • Affected Robot Software Version(s): 5.3.0
  • Affected Robot Hardware Version(s): UR5e
  • Robot Serial Number:
  • UR+ product(s) installed:
  • URCaps Software version(s):external control 1.0.1

Procedure

I followed the README for Universal_Robots_ROS_Driver, including installing external control, set up IP address, extracting callibration, changing action_ns in controller.yaml, etc.

Bring up

In the first terminal I run

roslaunch ur_robot_driver ur5e_bringup.launch robot_ip:=MY_UR5E_IP

And I run External Control program on the ur5e,

In the terminal I get,

[INFO] [1576050304.674887]: Started controllers: joint_state_controller, scaled_pos_traj_controller, speed_scaling_state_controller, force_torque_sensor_controller
[INFO] [1576050321.150582877]: Robot ready to receive control commands.

Everything seems correct so far, then I try Moveit! to move the robot arm.

Moveit package

In the second terminal, I run

roslaunch ur5_e_moveit_config ur5_e_moveit_planning_execution.launch limited:=true

By the way, the moveit package is from

git clone -b calibration_devel https://github.com/fmauch/universal_robot.git

In the terminal I get,

[ INFO] [1576049741.049094121]: MoveGroup context using planning plugin ompl_interface/OMPLPlanner
[ INFO] [1576049741.049121529]: MoveGroup context initialization complete

You can start planning now!

Everything seems correct so far, then I try to launch RViz

Lauching RViz

In the third terminal, I run

roslaunch ur5_e_moveit_config moveit_rviz.launch config:=true

No bugs happened in the terminal.

When I move the robot with freedrive, the robot in the RViz keeps the same posture with real robot.

Plan and Execute

I use the GUI of Rviz to plan and execute a trajectory.

Trajectory can be sucessfully planned but when I click execute,

In the second terminal, it says

[ INFO] [1576049754.799267993]: Received new trajectory execution service request...

The terminal gets stuck here and robot doesn't move.

What's more, there are no bugs shown in all three terminals.

Then, in the RViz, I click stop,

In the third terminal, it says,

[ INFO] [1576049799.573201610]: Received event 'stop'
[ INFO] [1576049799.573290613]: Cancelling execution for
[ INFO] [1576049799.573405578]: Stopped trajectory execution.
[ INFO] [1576049799.577856689]: Completed trajectory execution with status PREEMPTED ...
[ INFO] [1576049799.578047524]: Execution completed: PREEMPTED

It seems that robot is able to receive execution request and stop request but cannot execute the trajectory.

Since there are no bugs shown in the terminals, I have no idea which part is wrong or how to debug it.

I would appreciate it if someone have a idea or have solved similar problems.

URScript execution status

Excuse me not use issue template. It's not a bug, but a question or functionality request.

Is there an interface to track execution of URScript sent to /ur_hardware_interface/script_command? For me it's necessary to know when execution completes.

Tool Communication understanding

Summary

ROS version: kinetic
System: Ubuntu16.04
UR version: UR5e
UR software version: 5.2

I am confused about the use of the tool communication.
In your features list you mentioned that:

use tool communication on e-series: yes
use the driver without a teach pendant necessary: planned

Do you mean that if I want to use the RS485 cable for control, like in the following image, I still need to use the teach pendant? Can I use your driver to open the tool communication and use the qb device ros driver http://wiki.ros.org/Robots/qbhand to send commands control the hand remotely without program on the teach pendant?
image

Currently, I have tried your driver to open the tool communication:

  1. installed the externalcontrol-1.0.urcap and the rs485-1.0.urcap on the teach pendant (5.2 version for ur5e)
  2. set the IP address of the externalcontrol urcap the same as my UR5e arm
  3. run the driver:
    roslaunch ur_robot_driver ur5e_bringup.launch use_tool_communication:=true tool_voltage:=24 tool_parity:=0 tool_baud_rate:=115200 tool_stop_bits:=1 tool_rx_idle_chars:=1.5 tool_tx_idle_chars:=3.5 robot_ip:=localhost tool_device_name:=/tmp/ttyUR
    The driver seems to work.
    Then I run the qb hand driver:
    roslaunch qb_device_driver communication_handler.launch
    But it outputs that the driver can not connect to the device:
    [ WARN] [1569862191.354844984]: [CommunicationHandler] is waiting for devices... [ INFO] [1569862192.355195259]: [CommunicationHandler] has found [0] devices connected:

Can't connect UR3e with PC

Summary

I am trying to connect PC with UR3e. Following the tutorials, I can't realize the connection.
There are two problems:
1.Running "roslaunch ur3_e_bringup.launch" error.
2.When run URCaps in the Tech Pendant, it showed "The connection to the remote PC could not be established".

Versions

  • ROS Driver version:Kinetic+ubuntu16.04
  • Affected Robot Software Version(s): 5.3 for UR3e

Issue details

I downloaded the ROS-Industrial Universal Robot meta-package and Universal_Robots_ROS_Driver. Then I followed the steps and installed URCaps, but I skipped real-time kernel.

After doing catkin_make and source...., I run "roslaunch ur_robot_driver ur3e_bringup.launch robot_ip:=192.168.56.1", the results are as follow:

[ INFO] [1574245554.735175067]: Waiting for controller manager service to come up on /controller_manager/switch_controller
[ INFO] [1574245554.738353661]: waitForService: Service [/controller_manager/switch_controller] has not been advertised, waiting...
[ INFO] [1574245554.793670178]: Initializing urdriver
[ INFO] [1574245554.793960708]: Checking if calibration data matches connected robot.
[ WARN] [1574245554.794206654]: No realtime capabilities found. Consider using a realtime system for better performance
[INFO] [1574245554.992951]: Controller Spawner: Waiting for service controller_manager/load_controller
[INFO] [1574245554.996650]: Controller Spawner: Waiting for service controller_manager/load_controller
[ERROR] [1574245555.255396778]: The calibration parameters of the connected robot don't match the ones from the given kinematics config file. Please be aware that this can lead to critical inaccuracies of tcp positions. Use the ur_calibration tool to extract the correct calibration from the robot and pass that into the description. See [TODO Link to documentation] for details.
[ WARN] [1574245555.858848371]: No realtime capabilities found. Consider using a realtime system for better performance
[ INFO] [1574245556.319504210]: Setting up RTDE communication with frequency 500.000000
[ WARN] [1574245557.365727189]: No realtime capabilities found. Consider using a realtime system for better performance
[ INFO] [1574245557.365899298]: Loaded ur_robot_driver hardware_interface
[ INFO] [1574245557.414367666]: waitForService: Service [/controller_manager/switch_controller] is now available.
[ INFO] [1574245557.414430813]: Service available.
[ INFO] [1574245557.414475567]: Waiting for controller list service to come up on /controller_manager/list_controllers
[ INFO] [1574245557.415821403]: Service available.
[INFO] [1574245557.419021]: Controller Spawner: Waiting for service controller_manager/switch_controller
[INFO] [1574245557.421578]: Controller Spawner: Waiting for service controller_manager/switch_controller
[INFO] [1574245557.422596]: Controller Spawner: Waiting for service controller_manager/unload_controller
[INFO] [1574245557.423761]: Controller Spawner: Waiting for service controller_manager/unload_controller
[INFO] [1574245557.425062]: Loading controller: joint_state_controller
[INFO] [1574245557.427147]: Loading controller: pos_traj_controller
[INFO] [1574245557.435428]: Loading controller: scaled_pos_traj_controller
[INFO] [1574245557.479396]: Controller Spawner: Loaded controllers: pos_traj_controller
[INFO] [1574245557.523175]: Loading controller: speed_scaling_state_controller
[INFO] [1574245557.529331]: Loading controller: force_torque_sensor_controller
[INFO] [1574245557.537934]: Controller Spawner: Loaded controllers: joint_state_controller, scaled_pos_traj_controller, speed_scaling_state_controller, force_torque_sensor_controller
[INFO] [1574245557.541387]: Started controllers: joint_state_controller, scaled_pos_traj_controller, speed_scaling_state_controller, force_torque_sensor_controller
[ INFO] [1574245557.636512869]: Robot's safety mode is now NORMAL
[ INFO] [1574245557.636817392]: Robot mode is now RUNNING
^C[ur_hardware_interface/ur_robot_state_helper-6] killing on exit
[controller_stopper-5] killing on exit
[ros_control_stopped_spawner-4] killing on exit
[ros_control_controller_spawner-3] killing on exit
[ur_hardware_interface-2] killing on exit
[robot_state_publisher-1] killing on exit
Interrupt signal (2) received.
[INFO] [1574245629.356163]: Shutting down spawner. Stopping and unloading controllers...
[INFO] [1574245629.356365]: Shutting down spawner. Stopping and unloading controllers...
[INFO] [1574245629.356777]: Stopping all controllers...
[INFO] [1574245629.356897]: Stopping all controllers...
[ERROR] [1574245629.361387907]: Could not stop controller 'scaled_pos_traj_controller' since it is not running
[INFO] [1574245629.361688]: Unloading all loaded controllers...
[ERROR] [1574245629.361949202]: Could not stop controller 'pos_traj_controller' since it is not running
[INFO] [1574245629.362129]: Trying to unload force_torque_sensor_controller
[INFO] [1574245629.362238]: Unloading all loaded controllers...
[INFO] [1574245629.362596]: Trying to unload pos_traj_controller
terminate called without an active exception
[WARN] [1574245629.533725]: Controller Spawner error while taking down controllers: transport error completing service call: unable to receive data from sender, check sender's logs for details
[WARN] [1574245629.533726]: Controller Spawner error while taking down controllers: transport error completing service call: unable to receive data from sender, check sender's logs for details
shutting down processing monitor...
... shutting down processing monitor complete
done

And I tried to press the run bottom in the Tech Pendant, it showed "The connection to the remote PC could not be established".

I didn't change any configuration in the package. If there were something that needed to modify?

The External Control Host IP:192.168.56.1
UR3e IP: 192.168.56.1
My computer IP: 192.168.56.2
I don't know if my settings are correct, so I showed them.

Hoping for your response. Sorry for disturbing you. And thank you very much.

Calibration correction: process has died

Summary

The calibration_correction program does not work, and results in a process has died exit code -11 message.

Versions

  • ROS Driver version: master
  • Affected Robot Software Version(s): 3.11.0
  • Affected Robot Hardware Version(s): ur5 cb31
  • URCaps Software version(s): External Control V 1.0.1

Impact

The robot's calibration cannot be corrected.

Issue details

The complete output from the program is:

[DEBUG]: Starting up producer
[WARNING]: No realtime capabilities found. Consider using a realtime system for better performance
[WARNING]: Failed to read from stream, reconnecting in 1 seconds...
[DEBUG]: Invalid robot package type recieved: 24
[DEBUG]: Invalid robot package type recieved: 23
[DEBUG]: Invalid robot package type recieved: 25
[DEBUG]: Invalid robot package type recieved: 5
[INFO]: checksum: [3606817617 2359058659 797309772 1842629547 2361290454 2337035062 ]
dh_theta: [-2.13924526400084e-05 0.707863340837074 -0.697806691494563 -0.00939010396913045 -0.000103960175745391 2.84715683846765e-05 ]
dh_a: [0.000135505406191284 -0.323000093546539 -0.39222225336313 8.95993028540395e-05 6.7159905438739e-05 0 ]
dh_d: [0.0892432254030618 305.938911206983 -305.696785008317 -0.1315987344071 0.0948065362922913 0.0824990251147532 ]
dh_alpha: [1.57067557276495 0.000903167434024947 0.0155918816117158 1.569814771042 -1.56965778256486 0 ]
calibration_status: 2

[DEBUG]: Destructing pipeline
[DEBUG]: Stopping pipeline! <Pipeline>
[DEBUG]: Pipeline consumer ended! <Pipeline>
[DEBUG]: Pipeline producer ended! <Pipeline>
[ INFO] [1573830518.763447395]: Writing calibration data to "/home/ur5/.ros/test.yaml"
[calibration_correction-1] process has died [pid 17366, exit code -11

Steps to Reproduce

With external control loaded as a program in Polyscope, execute $ roslaunch ur_calibration calibration_correction.launch robot_ip:=10.75.15.199 target_filename:="${HOME}/test.yaml".

Unable to identify any set of controllers that can actuate the specified joints: [ elbow_joint shoulder_lift_joint shoulder_pan_joint wrist_1_joint wrist_2_joint wrist_3_joint ]

I using easy_handeye to calibrate the UR5 and depth camera, all the driver has been installed , while I using the rqt_easy_handeye to execute the plan, the robot on the rviz could move , but the real robot cannot move , and there is errors as

[ INFO] [1576755856.511674999]: Execution request received
[ INFO] [1576755856.511729324]: Returned 0 controllers in list
[ERROR] [1576755856.511757687]: Unable to identify any set of controllers that can actuate the specified joints: [ elbow_joint shoulder_lift_joint shoulder_pan_joint wrist_1_joint wrist_2_joint wrist_3_joint ]
[ERROR] [1576755856.511782182]: Known controllers and their joints:

Is there any one meet this problem?

urscript possibly checking wrong index when checking if joint positions where sent

Reviewing the URScript, specifically this line, I see:

    if params_mult[0] > 0:
      keepalive = params_mult[1]
      if params_mult[1] > 1: # <--- THIS LINE
        q = [params_mult[2] / MULT_jointstate, params_mult[3] / MULT_jointstate, params_mult[4] / MULT_jointstate, params_mult[5] / MULT_jointstate, params_mult[6] / MULT_jointstate, params_mult[7] / MULT_jointstate]
        set_servo_setpoint(q)

it seems to me the intention of the code here is to check if more than one integer was read, and if so, to assume it was a vector of points. If that is the case, shouldn't this line be:

if params_mult[0] > 1

If I'm mistaken, please explain what I'm missing!

Thank you!

[kinematics_config] argument is needed?

Trying to use it on real robot with Moveit, and I am trying to use it with limited version since otherwise it can create unwanted dangerous situations.

However even though I can connect to robot with certain IP, when run the command suggested I got this error

roslaunch ur_robot_driver ur5_bringup.launch robot_ip:=10.0.0.2 limited:=true

unused args [kinematics_config] for include of [/home/meric/c_ws/src/universal_robot/ur_description/launch/ur5_upload.launch]
The traceback for the exception was written to the log file

In the launch file argument list it is said that I need to use it with calibration. But I dont prefer that, and in the main page it is said like calibration is an optional thing. Any Ideas?

Publish "actual_TCP_speed" data field in hardware interface

Hardware_interface doesn't appear to include functionality to read/publish the "actual_TCP_speed" field from rtde. This data is useful when using the robot as both an actuator and a sensor during precise operations.
I would be happy to PR a quick implementation but I am not familiar enough with the driver to suggest a ROS message type. Maybe create a quick 6 float vector message and store it somewhere in ur_robot_driver/include/ur_robot_driver/ros? RobotStateRTMsg.msg from ur_msgs already includes a tcp_speed field but with so many more fields in it I think it would be overkill to reuse it unless everything is implemented.

Something wrong with my install dependecies

Hi!

I'm using Ubuntu 18.04 LTS with ROS melodic. I'm planning to use this driver with a UR3e robotic arm.
I'm having trouble with the install dependencies.
For this command sudo apt update -qq
I get the following message:
450 packages can be upgraded. Run 'apt list --upgradable' to see them.
W: An error occurred during the signature verification. The repository is not updated and the previous index files will be used. GPG error: http://packages.ros.org/ros/ubuntu bionic InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY F42ED6FBAB17C654
W: Failed to fetch http://packages.ros.org/ros/ubuntu/dists/bionic/InRelease The following signatures couldn't be verified because the public key is not available: NO_PUBKEY F42ED6FBAB17C654
W: Some index files failed to download. They have been ignored, or old ones used instead.

And for this line rosdep install --from-path src --ignore-src -y

This error:

executing command [sudo -H apt-get install -y ros-melodic-velocity-controllers]
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages were automatically installed and are no longer required:
linux-headers-4.18.0-17 linux-headers-4.18.0-17-generic
linux-image-4.18.0-17-generic linux-modules-4.18.0-17-generic
linux-modules-extra-4.18.0-17-generic
Use 'sudo apt autoremove' to remove them.
The following NEW packages will be installed:
ros-melodic-velocity-controllers
0 upgraded, 1 newly installed, 0 to remove and 450 not upgraded.
Need to get 70,7 kB of archives.
After this operation, 293 kB of additional disk space will be used.
Err:1 http://packages.ros.org/ros/ubuntu bionic/main amd64 ros-melodic-velocity-controllers amd64 0.15.0-0bionic.20190329.171037
404 Not Found [IP: 64.50.236.52 80]
E: Failed to fetch http://packages.ros.org/ros/ubuntu/pool/main/r/ros-melodic-velocity-controllers/ros-melodic-velocity-controllers_0.15.0-0bionic.20190329.171037_amd64.deb 404 Not Found [IP: 64.50.236.52 80]
E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?
ERROR: the following rosdeps failed to install
apt: command [sudo -H apt-get install -y ros-melodic-velocity-controllers] failed

Thank you for your help!

Improve documentation and output on dropping robot control

This driver will recognize, when the command-interpreting part of the driver running as Polyscope program stops due to some reason and notify the user with a message **Connection to robot dropped, waiting for new connection**

With that, one can simply press play on the TP again (or call rosservice call /ur_hardware_interface/resend_program in headless mode).

However, this is not really documented and we could also add a hint to the actual ROS output.

Finish headless mode

Currently, we only have a light headless mode, that starts the program initially. For reacting on errors and restarting the program after stops, we need access to more interactive functionality.

  • Start booted robot (Initial enable) -> Dashboard
  • Power off robot -> Dashboard
  • Handle Protective Stop -> Dashboard
  • Handle EM-Stop -> Dashboard
  • Handle Fault -> Dashboard
  • Handle violation -> Dashboard
  • Publish robot status from RTDE
  • Print robot mode and safety mode to logging
  • Offer Action to start/restart/recover robot
  • -> How to switch on the robot without a TP connected? Not part of the driver

On top of that a state machine handling robot recoveries might be useful, currently, one has to perform multiple service calls to reenable the robot after an EM stop. This could, however, also be fine.

Connection to robot dropped, waiting for new connection.

Summary

Sometimes I got info after starting the driver:
[ INFO] [1571753843.897362575]: Robot requested program [ INFO] [1571753843.897400758]: Sent program to robot [ INFO] [1571753854.029805703]: Robot ready to receive control commands. [ INFO] [1571753854.057101264]: **Connection to robot dropped, waiting for new connection**.

I did not enable the realtime function on my computer.

I am not sure if this will affect my controlling performance.
Actually my qb hand controlling not runs well through this tool communication. It seems there is a big delay for my qb hand control.

Versions

  • ROS Driver version: Kinetic
  • Robot Serial Number:UR5e + 5.2
  • URCaps Software version(s): ExternalControl, qb hand, RS485

Add documentation about different modes

We currently have two modes: "Normal" mode which requires the URCap being installed on the robot and the "External Control" program node running inside a program. The "headless" mode on the other side sends the primary URScript for execution to the robot directly.

An orthogonal mode to those two is remote-control mode. e-Series robots have to be put into that mode to make certain features such as sending script code and most of the dashboard commands work.

All this is not documented all too well currently.

rqt_joint_trajectory_controller crash

Summary

I created my own launch file following the tutorial. It runs perfectly. Then I open a new terminal source it. When I try to launch the rqt it shows up. I can set the controller manager ns and the controller, but when I hit the power button it crashes with the following error message. I use Ubuntu 18.04 LTS, ROS melodic

cmd: rosrun rqt_joint_trajectory_controller rqt_joint_trajectory_controller

error: Traceback (most recent call last):
File "/home/bodon/catkin_ws/src/ros_controllers/rqt_joint_trajectory_controller/src/rqt_joint_trajectory_controller/joint_trajectory_controller.py", line 416, in _update_cmd_cb
pos = self._joint_pos[name]['position']
KeyError: 'position'

Versions

  • ROS Driver version: melodic
  • Affected Robot Software Version(s): PolyScope 5.5.1
  • Affected Robot Hardware Version(s): UR3e
  • Robot Serial Number:
  • UR+ product(s) installed:
  • URCaps Software version(s): 4.1.4

Here's my launch file:

FollowJointTrajectory action with control loop on UR controller

Thank you so much for this work, it seems to literally clean every single interface that might be relevant and forward a lot of things that had to be ignored before. 💐

Looking into deploying the new driver, we see the need for a controller that forwards FollowJointTrajectory goals/trajectories to the robot controller in terms of a quintic profile specified by waypoints. I am honestly surprised this is not the default mode of operation of URs officially backed ROS controller, as the ros_control approach is of course nicer if properly setup, but still requires fiddling with realtime parameters and load management to run stable.

The low_bandwidth_follower of the ur_modern_driver roughly provides this functionality, but fails to accurately arrive at the destined goal location.

Are there plans to incorporate such a mode in this driver, too?
Will the ur_modern_driver remain the best way to do this for the foreseeable future?
Is this already readily supported in some UR-backed way and we are just not aware of it?

Feature: A free parameter, that the UR user can configure to select different behaviours on the ROS side

Summary

A addition free parameter could be transmitted in the rtde protocol to allow a UR user to configure what should happen on the ROS side (encoded in e.g. an int or string). The URcap should allow configuring this parameter in the tree-view individual for every occurrence of the "external control" (not in installation).
In some cases the external control could then be e.g. a force control in other situations something else.
The free parameter should be transmitted somehow (rostopic?) to the ROS world, to be picked up by whatever functionality there is.

Impact

The UR user could benefit from many different behaviors provided by different ROS nodes/controller, without being bothered with ROS at all.

Failed to read from stream, Pipeline producer overflowed!

Summary

After installing the externalcontrol-1.0.urcap and use my remote pc ip address as the remote host address, I launch the ur3e_bringup.launch file but I keep getting the error Pipeline producer overflowed! , Communication error, what other setting steps did I miss?

Versions

  • ROS Driver version:
  • Affected Robot Software Version(s): PolyScope 5.4
  • Affected Robot Hardware Version(s): ur3e
  • Robot Serial Number:
  • UR+ product(s) installed: ur3e
  • URCaps Software version(s): externalcontrol-1.0.urcap

Issue details

error_msg

Use Case and Setup

Just testing the ur3e driver usability currently

Steps to Reproduce

See summary

Expected Behavior

I didn't expect there to be any error when running the ur3e_bringup program

Robot Does not Move with rqt_joint_trajectory_controller GUI

Summary

The robot does not move at all with the rqt_joint_trajectory_controller GUI. Note, I am using kinetic with Ubuntu 16.04.

I am able to run the driver, complete the steps to run the remote control program, switch the controller to "joint_traj_controller", and launch the rqt gui, but when I move the sliders for joints, nothing happens on the real robot.

Versions

  • ROS Driver version: master
  • Affected Robot Software Version(s): polyscope 5.3.1
  • Affected Robot Hardware Version(s): ur5e
  • Robot Serial Number:
  • UR+ product(s) installed:
  • URCaps Software version(s): External Control V 1.0.1

Impact

The robot does not move while using the rqt_joint_trajectory_controller gui. Also note that the gui crashes if you attempt to use it with the scaled_joint_traj_controller.

Issue details

After starting the driver, running the remote control URCaps program, and putting the teach pendant into remote control mode, I have not been able to make the robot move using the rqt gui. The rqt joint trajectory gui crashes if you attempt to use it with the "scaled_pos_traj_controller". The program does not crash, but the ur5e does not move when using the "pos_traj_controller". The speed slider on the trajectory controller seems to have no effect. The rqt gui is definitely publishing on the "/position_traj_controller/command" topic". I haven't been able to debug why there is no movement. There are no obvious error or warning messages, and the rqt_graph looks normal.
rqt_graph

Use Case and Setup

General arm movement. No special setup.

Project status at point of discovered

While attempting to experiment with using the new driver.

Steps to Reproduce

  1. Launch the driver with: $ roslaunch ur_robot_driver ur5e_bringup.launch robot_ip:=<robot ip>
  2. On the teach pendant run the external control program as described in the GIT readme. The driver outputs "Robot ready to receive control commands."
  3. Put the teach pendant in remote control mode.
  4. In a second terminal switch the controller with:
    rosservice call /controller_manager/switch_controller "start_controllers: - 'pos_traj_controller' stop_controllers: - 'scaled_pos_traj_controller' strictness: 1"
    Service responds "ok: True"
  5. Run the rqt gui with: $ rosrun rqt_joint_trajectory_controller rqt_joint_trajectory_controller
  6. The gui pops up with the pos_traj_controler selected (it is the only option), click the start button on the gui, then move any of the sliders to move joints... nothing happens. The robot does not move.

Expected Behavior

I expect some visible movement, but the joint_state topic remains constant (except for noise) and the robot does not move.

Publish industrial_msgs/RobotStatus messages

tl;dr: would there be interest in adding industrial_robot_status_controller compatibility to ur_robot_driver?

(I've ignored the template, as it doesn't seem to cater to discussions about potential contributions / feature/enhancement requests)


ur_modern_driver publishes industrial_msgs/RobotStatus messages which give a (admittedly limited) view on robot/controller state.

ur_robot_driver does not do this, which complicates migrating from ur_modern_driver.

Instead of adding support for this directly to ur_robot_driver, an intermediary in the form of the industrial_robot_status_controller could be used. ur_robot_driver would have to expose an IndustrialRobotStatusHandle and populate some fields in that, after which the controller would be responsible for conversion to and publication of the actual RobotStatus message.

As without the controller nothing happens, users would have an opt-in and the default behaviour of the hardware_interface would not change.

[ros_control_controller_manager-5] process has finished cleanly

roslaunch ur_robot_driver ur5e_bringup.launch robot_ip:=192.168.1.10

I have this problem:[ros_control_controller_manager-5] process has finished cleanly

roslaunch ur_robot_driver ur5e_bringup.launch robot_ip:=192.168.1.10
... logging to /home/z/.ros/log/4c9d4a9a-05e5-11ea-b66c-00e04c515af0/roslaunch-z-l-2939.log
Checking log directory for disk usage. This may take awhile.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.

started roslaunch server http://z-l:39581/

SUMMARY

PARAMETERS

  • /controller_stopper/consistent_controllers: ['joint_state_con...
  • /force_torque_sensor_controller/publish_rate: 500
  • /force_torque_sensor_controller/type: force_torque_sens...
  • /hardware_control_loop/loop_hz: 500
  • /hardware_interface/joints: ['shoulder_pan_jo...
  • /joint_state_controller/publish_rate: 500
  • /joint_state_controller/type: joint_state_contr...
  • /pos_traj_controller/action_monitor_rate: 10
  • /pos_traj_controller/constraints/elbow_joint/goal: 0.1
  • /pos_traj_controller/constraints/elbow_joint/trajectory: 0.2
  • /pos_traj_controller/constraints/goal_time: 0.6
  • /pos_traj_controller/constraints/shoulder_lift_joint/goal: 0.1
  • /pos_traj_controller/constraints/shoulder_lift_joint/trajectory: 0.2
  • /pos_traj_controller/constraints/shoulder_pan_joint/goal: 0.1
  • /pos_traj_controller/constraints/shoulder_pan_joint/trajectory: 0.2
  • /pos_traj_controller/constraints/stopped_velocity_tolerance: 0.05
  • /pos_traj_controller/constraints/wrist_1_joint/goal: 0.1
  • /pos_traj_controller/constraints/wrist_1_joint/trajectory: 0.2
  • /pos_traj_controller/constraints/wrist_2_joint/goal: 0.1
  • /pos_traj_controller/constraints/wrist_2_joint/trajectory: 0.2
  • /pos_traj_controller/constraints/wrist_3_joint/goal: 0.1
  • /pos_traj_controller/constraints/wrist_3_joint/trajectory: 0.2
  • /pos_traj_controller/joints: ['shoulder_pan_jo...
  • /pos_traj_controller/state_publish_rate: 500
  • /pos_traj_controller/stop_trajectory_duration: 0.5
  • /pos_traj_controller/type: position_controll...
  • /robot_description: <?xml version="1....
  • /rosdistro: kinetic
  • /rosversion: 1.12.14
  • /scaled_pos_traj_controller/action_monitor_rate: 10
  • /scaled_pos_traj_controller/constraints/elbow_joint/goal: 0.1
  • /scaled_pos_traj_controller/constraints/elbow_joint/trajectory: 0.2
  • /scaled_pos_traj_controller/constraints/goal_time: 0.6
  • /scaled_pos_traj_controller/constraints/shoulder_lift_joint/goal: 0.1
  • /scaled_pos_traj_controller/constraints/shoulder_lift_joint/trajectory: 0.2
  • /scaled_pos_traj_controller/constraints/shoulder_pan_joint/goal: 0.1
  • /scaled_pos_traj_controller/constraints/shoulder_pan_joint/trajectory: 0.2
  • /scaled_pos_traj_controller/constraints/stopped_velocity_tolerance: 0.05
  • /scaled_pos_traj_controller/constraints/wrist_1_joint/goal: 0.1
  • /scaled_pos_traj_controller/constraints/wrist_1_joint/trajectory: 0.2
  • /scaled_pos_traj_controller/constraints/wrist_2_joint/goal: 0.1
  • /scaled_pos_traj_controller/constraints/wrist_2_joint/trajectory: 0.2
  • /scaled_pos_traj_controller/constraints/wrist_3_joint/goal: 0.1
  • /scaled_pos_traj_controller/constraints/wrist_3_joint/trajectory: 0.2
  • /scaled_pos_traj_controller/joints: ['shoulder_pan_jo...
  • /scaled_pos_traj_controller/state_publish_rate: 500
  • /scaled_pos_traj_controller/stop_trajectory_duration: 0.5
  • /scaled_pos_traj_controller/type: position_controll...
  • /speed_scaling_state_controller/publish_rate: 500
  • /speed_scaling_state_controller/type: ur_controllers/Sp...
  • /ur_hardware_interface/headless_mode: False
  • /ur_hardware_interface/input_recipe_file: /home/z/ur_ws/src...
  • /ur_hardware_interface/kinematics/forearm/pitch: 3.14017199916
  • /ur_hardware_interface/kinematics/forearm/roll: 3.14059068755
  • /ur_hardware_interface/kinematics/forearm/x: -0.425037893955
  • /ur_hardware_interface/kinematics/forearm/y: 0
  • /ur_hardware_interface/kinematics/forearm/yaw: -3.14158816371
  • /ur_hardware_interface/kinematics/forearm/z: 0
  • /ur_hardware_interface/kinematics/hash: calib_39802185810...
  • /ur_hardware_interface/kinematics/shoulder/pitch: 0
  • /ur_hardware_interface/kinematics/shoulder/roll: 0
  • /ur_hardware_interface/kinematics/shoulder/x: 0
  • /ur_hardware_interface/kinematics/shoulder/y: 0
  • /ur_hardware_interface/kinematics/shoulder/yaw: 7.37238859683e-08
  • /ur_hardware_interface/kinematics/shoulder/z: 0.162324408873
  • /ur_hardware_interface/kinematics/upper_arm/pitch: 0
  • /ur_hardware_interface/kinematics/upper_arm/roll: 1.56992930797
  • /ur_hardware_interface/kinematics/upper_arm/x: 4.84366363075e-05
  • /ur_hardware_interface/kinematics/upper_arm/y: 0
  • /ur_hardware_interface/kinematics/upper_arm/yaw: 6.15937720869e-06
  • /ur_hardware_interface/kinematics/upper_arm/z: 0
  • /ur_hardware_interface/kinematics/wrist_1/pitch: -3.14098620009
  • /ur_hardware_interface/kinematics/wrist_1/roll: 3.13502703346
  • /ur_hardware_interface/kinematics/wrist_1/x: -0.392221657252
  • /ur_hardware_interface/kinematics/wrist_1/y: 0.000875846517558
  • /ur_hardware_interface/kinematics/wrist_1/yaw: 3.14158797796
  • /ur_hardware_interface/kinematics/wrist_1/z: 0.133396985332
  • /ur_hardware_interface/kinematics/wrist_2/pitch: 0
  • /ur_hardware_interface/kinematics/wrist_2/roll: 1.57058704786
  • /ur_hardware_interface/kinematics/wrist_2/x: 2.50023335042e-05
  • /ur_hardware_interface/kinematics/wrist_2/y: -0.0996555417782
  • /ur_hardware_interface/kinematics/wrist_2/yaw: -3.85827428446e-07
  • /ur_hardware_interface/kinematics/wrist_2/z: 2.08558061508e-05
  • /ur_hardware_interface/kinematics/wrist_3/pitch: 3.14159265359
  • /ur_hardware_interface/kinematics/wrist_3/roll: 1.57146277288
  • /ur_hardware_interface/kinematics/wrist_3/x: 0.00010963338722
  • /ur_hardware_interface/kinematics/wrist_3/y: 0.0993621411081
  • /ur_hardware_interface/kinematics/wrist_3/yaw: 3.1415923712
  • /ur_hardware_interface/kinematics/wrist_3/z: 6.62195197273e-05
  • /ur_hardware_interface/output_recipe_file: /home/z/ur_ws/src...
  • /ur_hardware_interface/robot_ip: 192.168.1.10
  • /ur_hardware_interface/script_file: /home/z/ur_ws/src...
  • /ur_hardware_interface/tf_prefix:
  • /ur_hardware_interface/tool_baud_rate: 115200
  • /ur_hardware_interface/tool_parity: 0
  • /ur_hardware_interface/tool_rx_idle_chars: 1.5
  • /ur_hardware_interface/tool_stop_bits: 1
  • /ur_hardware_interface/tool_tx_idle_chars: 3.5
  • /ur_hardware_interface/tool_voltage: 0
  • /ur_hardware_interface/use_tool_communication: False

NODES
/
controller_stopper (controller_stopper/node)
robot_state_publisher (robot_state_publisher/robot_state_publisher)
ros_control_controller_manager (controller_manager/controller_manager)
ros_control_controller_spawner (controller_manager/spawner)
ur_hardware_interface (ur_robot_driver/ur_robot_driver_node)
/ur_hardware_interface/
ur_robot_state_helper (ur_robot_driver/robot_state_helper)

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

setting /run_id to 4c9d4a9a-05e5-11ea-b66c-00e04c515af0
process[rosout-1]: started with pid [2965]
started core service [/rosout]
process[robot_state_publisher-2]: started with pid [2982]
process[ur_hardware_interface-3]: started with pid [2983]
process[ros_control_controller_spawner-4]: started with pid [2985]
process[ros_control_controller_manager-5]: started with pid [2998]
[ INFO] [1573629299.827127349]: Main thread: SCHED_FIFO OK
[ INFO] [1573629299.827224498]: Main thread priority is 99
process[controller_stopper-6]: started with pid [3011]
[ INFO] [1573629299.856995085]: Initializing dashboard client
[ INFO] [1573629299.859225064]: Connected: Universal Robots Dashboard Server

process[ur_hardware_interface/ur_robot_state_helper-7]: started with pid [3048]
[ INFO] [1573629299.940176571]: Waiting for controller manager service to come up on /controller_manager/switch_controller
[ INFO] [1573629299.942043881]: Initializing urdriver
[ INFO] [1573629299.942540373]: Checking if calibration data matches connected robot.
[ INFO] [1573629299.943060817]: Producer thread: SCHED_FIFO OK
[ INFO] [1573629299.943125984]: Thread priority is 99
[ INFO] [1573629299.944610438]: waitForService: Service [/controller_manager/switch_controller] has not been advertised, waiting...
[ INFO] [1573629300.393358835]: Calibration checked successfully.
[INFO] [1573629300.399231]: Controller Spawner: Waiting for service controller_manager/load_controller
[ INFO] [1573629300.998313419]: Producer thread: SCHED_FIFO OK
[ INFO] [1573629300.998365004]: Thread priority is 99
[ INFO] [1573629301.552251860]: Setting up RTDE communication with frequency 500.000000
[ INFO] [1573629302.572216855]: Producer thread: SCHED_FIFO OK
[ INFO] [1573629302.572281891]: Thread priority is 99
[ INFO] [1573629302.572373621]: Loaded ur_robot_driver hardware_interface
[ INFO] [1573629302.636417281]: waitForService: Service [/controller_manager/switch_controller] is now available.
[ INFO] [1573629302.636481087]: Service available.
[ INFO] [1573629302.636555653]: Waiting for controller list service to come up on /controller_manager/list_controllers
[ INFO] [1573629302.638067905]: Service available.
[ INFO] [1573629302.822312359]: Robot's safety mode is now NORMAL
[ INFO] [1573629302.822703305]: Robot mode is now RUNNING
[INFO] [1573629302.824334]: Controller Spawner: Waiting for service controller_manager/switch_controller
[INFO] [1573629302.826584]: Controller Spawner: Waiting for service controller_manager/unload_controller
[INFO] [1573629302.828637]: Loading controller: joint_state_controller
[INFO] [1573629302.844996]: Loading controller: scaled_pos_traj_controller
Loaded pos_traj_controller
[INFO] [1573629302.994883]: Loading controller: speed_scaling_state_controller
[INFO] [1573629303.002823]: Loading controller: force_torque_sensor_controller
[INFO] [1573629303.014036]: Controller Spawner: Loaded controllers: joint_state_controller, scaled_pos_traj_controller, speed_scaling_state_controller, force_torque_sensor_controller
[INFO] [1573629303.018860]: Started controllers: joint_state_controller, scaled_pos_traj_controller, speed_scaling_state_controller, force_torque_sensor_controller
[ros_control_controller_manager-5] process has finished cleanly
log file: /home/z/.ros/log/4c9d4a9a-05e5-11ea-b66c-00e04c515af0/ros_control_controller_manager-5*.log

What should I do?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.