frankaemika/franka_ros

Error launching teleop example controller

Closed this issue · 1 comments

Hi,

I have a setup where two pandas are mounted next to each other. The workstation PC has Ubuntu 18.04 LTS, ROS Melodic Morenia and kernel 5.4.10-rt4 installed.

I want to run the teleop example controller, but get the following error:

~$ roslaunch franka_example_controllers teleop_joint_pd_example_controller.launch leader_ip:=172.16.0.2 follower_ip:=172.16.0.3

xacro: in-order processing became default in ROS Melodic. You can drop the option.
xacro: in-order processing became default in ROS Melodic. You can drop the option.
started roslaunch server http://wayra-robotics:33011/

SUMMARY
========

PARAMETERS
 * /panda_teleop/cartesian_impedance_example_controller/arm_id: panda
 * /panda_teleop/cartesian_impedance_example_controller/joint_names: ['panda_joint1', ...
 * /panda_teleop/cartesian_impedance_example_controller/type: franka_example_co...
 * /panda_teleop/cartesian_pose_example_controller/arm_id: panda
 * /panda_teleop/cartesian_pose_example_controller/type: franka_example_co...
 * /panda_teleop/cartesian_velocity_example_controller/arm_id: panda
 * /panda_teleop/cartesian_velocity_example_controller/type: franka_example_co...
 * /panda_teleop/dual_arm_cartesian_impedance_example_controller/left/arm_id: panda_2
 * /panda_teleop/dual_arm_cartesian_impedance_example_controller/left/joint_names: ['panda_2_joint1'...
 * /panda_teleop/dual_arm_cartesian_impedance_example_controller/right/arm_id: panda_1
 * /panda_teleop/dual_arm_cartesian_impedance_example_controller/right/joint_names: ['panda_1_joint1'...
 * /panda_teleop/dual_arm_cartesian_impedance_example_controller/type: franka_example_co...
 * /panda_teleop/effort_joint_trajectory_controller/constraints/goal_time: 0.5
 * /panda_teleop/effort_joint_trajectory_controller/constraints/panda_1_joint1/goal: 0.05
 * /panda_teleop/effort_joint_trajectory_controller/constraints/panda_1_joint2/goal: 0.05
 * /panda_teleop/effort_joint_trajectory_controller/constraints/panda_1_joint3/goal: 0.05
 * /panda_teleop/effort_joint_trajectory_controller/constraints/panda_1_joint4/goal: 0.05
 * /panda_teleop/effort_joint_trajectory_controller/constraints/panda_1_joint5/goal: 0.05
 * /panda_teleop/effort_joint_trajectory_controller/constraints/panda_1_joint6/goal: 0.05
 * /panda_teleop/effort_joint_trajectory_controller/constraints/panda_1_joint7/goal: 0.05
 * /panda_teleop/effort_joint_trajectory_controller/constraints/panda_2_joint1/goal: 0.05
 * /panda_teleop/effort_joint_trajectory_controller/constraints/panda_2_joint2/goal: 0.05
 * /panda_teleop/effort_joint_trajectory_controller/constraints/panda_2_joint3/goal: 0.05
 * /panda_teleop/effort_joint_trajectory_controller/constraints/panda_2_joint4/goal: 0.05
 * /panda_teleop/effort_joint_trajectory_controller/constraints/panda_2_joint5/goal: 0.05
 * /panda_teleop/effort_joint_trajectory_controller/constraints/panda_2_joint6/goal: 0.05
 * /panda_teleop/effort_joint_trajectory_controller/constraints/panda_2_joint7/goal: 0.05
 * /panda_teleop/effort_joint_trajectory_controller/gains/panda_1_joint1/d: 30
 * /panda_teleop/effort_joint_trajectory_controller/gains/panda_1_joint1/i: 0
 * /panda_teleop/effort_joint_trajectory_controller/gains/panda_1_joint1/i_clamp: 1
 * /panda_teleop/effort_joint_trajectory_controller/gains/panda_1_joint1/p: 600
 * /panda_teleop/effort_joint_trajectory_controller/gains/panda_1_joint2/d: 30
 * /panda_teleop/effort_joint_trajectory_controller/gains/panda_1_joint2/i: 0
 * /panda_teleop/effort_joint_trajectory_controller/gains/panda_1_joint2/i_clamp: 1
 * /panda_teleop/effort_joint_trajectory_controller/gains/panda_1_joint2/p: 600
 * /panda_teleop/effort_joint_trajectory_controller/gains/panda_1_joint3/d: 30
 * /panda_teleop/effort_joint_trajectory_controller/gains/panda_1_joint3/i: 0
 * /panda_teleop/effort_joint_trajectory_controller/gains/panda_1_joint3/i_clamp: 1
 * /panda_teleop/effort_joint_trajectory_controller/gains/panda_1_joint3/p: 600
 * /panda_teleop/effort_joint_trajectory_controller/gains/panda_1_joint4/d: 30
 * /panda_teleop/effort_joint_trajectory_controller/gains/panda_1_joint4/i: 0
 * /panda_teleop/effort_joint_trajectory_controller/gains/panda_1_joint4/i_clamp: 1
 * /panda_teleop/effort_joint_trajectory_controller/gains/panda_1_joint4/p: 600
 * /panda_teleop/effort_joint_trajectory_controller/gains/panda_1_joint5/d: 10
 * /panda_teleop/effort_joint_trajectory_controller/gains/panda_1_joint5/i: 0
 * /panda_teleop/effort_joint_trajectory_controller/gains/panda_1_joint5/i_clamp: 1
 * /panda_teleop/effort_joint_trajectory_controller/gains/panda_1_joint5/p: 250
 * /panda_teleop/effort_joint_trajectory_controller/gains/panda_1_joint6/d: 10
 * /panda_teleop/effort_joint_trajectory_controller/gains/panda_1_joint6/i: 0
 * /panda_teleop/effort_joint_trajectory_controller/gains/panda_1_joint6/i_clamp: 1
 * /panda_teleop/effort_joint_trajectory_controller/gains/panda_1_joint6/p: 150
 * /panda_teleop/effort_joint_trajectory_controller/gains/panda_1_joint7/d: 5
 * /panda_teleop/effort_joint_trajectory_controller/gains/panda_1_joint7/i: 0
 * /panda_teleop/effort_joint_trajectory_controller/gains/panda_1_joint7/i_clamp: 1
 * /panda_teleop/effort_joint_trajectory_controller/gains/panda_1_joint7/p: 50
 * /panda_teleop/effort_joint_trajectory_controller/gains/panda_2_joint1/d: 30
 * /panda_teleop/effort_joint_trajectory_controller/gains/panda_2_joint1/i: 0
 * /panda_teleop/effort_joint_trajectory_controller/gains/panda_2_joint1/i_clamp: 1
 * /panda_teleop/effort_joint_trajectory_controller/gains/panda_2_joint1/p: 600
 * /panda_teleop/effort_joint_trajectory_controller/gains/panda_2_joint2/d: 30
 * /panda_teleop/effort_joint_trajectory_controller/gains/panda_2_joint2/i: 0
 * /panda_teleop/effort_joint_trajectory_controller/gains/panda_2_joint2/i_clamp: 1
 * /panda_teleop/effort_joint_trajectory_controller/gains/panda_2_joint2/p: 600
 * /panda_teleop/effort_joint_trajectory_controller/gains/panda_2_joint3/d: 30
 * /panda_teleop/effort_joint_trajectory_controller/gains/panda_2_joint3/i: 0
 * /panda_teleop/effort_joint_trajectory_controller/gains/panda_2_joint3/i_clamp: 1
 * /panda_teleop/effort_joint_trajectory_controller/gains/panda_2_joint3/p: 600
 * /panda_teleop/effort_joint_trajectory_controller/gains/panda_2_joint4/d: 30
 * /panda_teleop/effort_joint_trajectory_controller/gains/panda_2_joint4/i: 0
 * /panda_teleop/effort_joint_trajectory_controller/gains/panda_2_joint4/i_clamp: 1
 * /panda_teleop/effort_joint_trajectory_controller/gains/panda_2_joint4/p: 600
 * /panda_teleop/effort_joint_trajectory_controller/gains/panda_2_joint5/d: 10
 * /panda_teleop/effort_joint_trajectory_controller/gains/panda_2_joint5/i: 0
 * /panda_teleop/effort_joint_trajectory_controller/gains/panda_2_joint5/i_clamp: 1
 * /panda_teleop/effort_joint_trajectory_controller/gains/panda_2_joint5/p: 250
 * /panda_teleop/effort_joint_trajectory_controller/gains/panda_2_joint6/d: 10
 * /panda_teleop/effort_joint_trajectory_controller/gains/panda_2_joint6/i: 0
 * /panda_teleop/effort_joint_trajectory_controller/gains/panda_2_joint6/i_clamp: 1
 * /panda_teleop/effort_joint_trajectory_controller/gains/panda_2_joint6/p: 150
 * /panda_teleop/effort_joint_trajectory_controller/gains/panda_2_joint7/d: 5
 * /panda_teleop/effort_joint_trajectory_controller/gains/panda_2_joint7/i: 0
 * /panda_teleop/effort_joint_trajectory_controller/gains/panda_2_joint7/i_clamp: 1
 * /panda_teleop/effort_joint_trajectory_controller/gains/panda_2_joint7/p: 50
 * /panda_teleop/effort_joint_trajectory_controller/joints: ['panda_2_joint1'...
 * /panda_teleop/effort_joint_trajectory_controller/type: effort_controller...
 * /panda_teleop/elbow_example_controller/arm_id: panda
 * /panda_teleop/elbow_example_controller/type: franka_example_co...
 * /panda_teleop/force_example_controller/arm_id: panda
 * /panda_teleop/force_example_controller/joint_names: ['panda_joint1', ...
 * /panda_teleop/force_example_controller/type: franka_example_co...
 * /panda_teleop/joint_impedance_example_controller/acceleration_time: 2.0
 * /panda_teleop/joint_impedance_example_controller/arm_id: panda
 * /panda_teleop/joint_impedance_example_controller/coriolis_factor: 1.0
 * /panda_teleop/joint_impedance_example_controller/d_gains: [50.0, 50.0, 50.0...
 * /panda_teleop/joint_impedance_example_controller/joint_names: ['panda_joint1', ...
 * /panda_teleop/joint_impedance_example_controller/k_gains: [600.0, 600.0, 60...
 * /panda_teleop/joint_impedance_example_controller/publish_rate: 10.0
 * /panda_teleop/joint_impedance_example_controller/radius: 0.1
 * /panda_teleop/joint_impedance_example_controller/type: franka_example_co...
 * /panda_teleop/joint_impedance_example_controller/vel_max: 0.15
 * /panda_teleop/joint_position_example_controller/joint_names: ['panda_joint1', ...
 * /panda_teleop/joint_position_example_controller/type: franka_example_co...
 * /panda_teleop/joint_state_publisher/rate: 30
 * /panda_teleop/joint_state_publisher/robot_description: <?xml version="1....
 * /panda_teleop/joint_state_publisher/source_list: ['panda_1_state_c...
 * /panda_teleop/joint_velocity_example_controller/joint_names: ['panda_joint1', ...
 * /panda_teleop/joint_velocity_example_controller/type: franka_example_co...
 * /panda_teleop/model_example_controller/arm_id: panda
 * /panda_teleop/model_example_controller/type: franka_example_co...
 * /panda_teleop/panda_1/arm_id: panda_1
 * /panda_teleop/panda_1/collision_config/lower_force_thresholds_acceleration: [40.0, 40.0, 40.0...
 * /panda_teleop/panda_1/collision_config/lower_force_thresholds_nominal: [40.0, 40.0, 40.0...
 * /panda_teleop/panda_1/collision_config/lower_torque_thresholds_acceleration: [25.0, 25.0, 23.0...
 * /panda_teleop/panda_1/collision_config/lower_torque_thresholds_nominal: [25.0, 25.0, 23.0...
 * /panda_teleop/panda_1/collision_config/upper_force_thresholds_acceleration: [40.0, 40.0, 40.0...
 * /panda_teleop/panda_1/collision_config/upper_force_thresholds_nominal: [40.0, 40.0, 40.0...
 * /panda_teleop/panda_1/collision_config/upper_torque_thresholds_acceleration: [25.0, 25.0, 23.0...
 * /panda_teleop/panda_1/collision_config/upper_torque_thresholds_nominal: [25.0, 25.0, 23.0...
 * /panda_teleop/panda_1/cutoff_frequency: 1000
 * /panda_teleop/panda_1/internal_controller: joint_impedance
 * /panda_teleop/panda_1/joint_limit_warning_threshold: 0.1
 * /panda_teleop/panda_1/joint_names: ['panda_1_joint1'...
 * /panda_teleop/panda_1/rate_limiting: True
 * /panda_teleop/panda_1/realtime_config: enforce
 * /panda_teleop/panda_1/robot_ip: 172.16.0.2
 * /panda_teleop/panda_1/type: franka_hw/FrankaC...
 * /panda_teleop/panda_1_state_controller/arm_id: panda_1
 * /panda_teleop/panda_1_state_controller/joint_names: ['panda_1_joint1'...
 * /panda_teleop/panda_1_state_controller/publish_rate: 30
 * /panda_teleop/panda_1_state_controller/type: franka_control/Fr...
 * /panda_teleop/panda_2/arm_id: panda_2
 * /panda_teleop/panda_2/collision_config/lower_force_thresholds_acceleration: [40.0, 40.0, 40.0...
 * /panda_teleop/panda_2/collision_config/lower_force_thresholds_nominal: [40.0, 40.0, 40.0...
 * /panda_teleop/panda_2/collision_config/lower_torque_thresholds_acceleration: [25.0, 25.0, 23.0...
 * /panda_teleop/panda_2/collision_config/lower_torque_thresholds_nominal: [25.0, 25.0, 23.0...
 * /panda_teleop/panda_2/collision_config/upper_force_thresholds_acceleration: [40.0, 40.0, 40.0...
 * /panda_teleop/panda_2/collision_config/upper_force_thresholds_nominal: [40.0, 40.0, 40.0...
 * /panda_teleop/panda_2/collision_config/upper_torque_thresholds_acceleration: [25.0, 25.0, 23.0...
 * /panda_teleop/panda_2/collision_config/upper_torque_thresholds_nominal: [25.0, 25.0, 23.0...
 * /panda_teleop/panda_2/cutoff_frequency: 1000
 * /panda_teleop/panda_2/internal_controller: joint_impedance
 * /panda_teleop/panda_2/joint_limit_warning_threshold: 0.1
 * /panda_teleop/panda_2/joint_names: ['panda_2_joint1'...
 * /panda_teleop/panda_2/rate_limiting: True
 * /panda_teleop/panda_2/realtime_config: enforce
 * /panda_teleop/panda_2/robot_ip: 172.16.0.3
 * /panda_teleop/panda_2/type: franka_hw/FrankaC...
 * /panda_teleop/panda_2_state_controller/arm_id: panda_2
 * /panda_teleop/panda_2_state_controller/joint_names: ['panda_2_joint1'...
 * /panda_teleop/panda_2_state_controller/publish_rate: 30
 * /panda_teleop/panda_2_state_controller/type: franka_control/Fr...
 * /panda_teleop/robot_description: <?xml version="1....
 * /panda_teleop/robot_hardware: ['panda_1', 'pand...
 * /panda_teleop/teleop_joint_pd_example_controller/debug: False
 * /panda_teleop/teleop_joint_pd_example_controller/follower/arm_id: panda_2
 * /panda_teleop/teleop_joint_pd_example_controller/follower/contact_force_threshold: 5.0
 * /panda_teleop/teleop_joint_pd_example_controller/follower/d_gains: [45.0, 45.0, 45.0...
 * /panda_teleop/teleop_joint_pd_example_controller/follower/ddq_max_lower: [0.8, 0.8, 0.8, 0...
 * /panda_teleop/teleop_joint_pd_example_controller/follower/ddq_max_upper: [6.0, 6.0, 6.0, 6...
 * /panda_teleop/teleop_joint_pd_example_controller/follower/dq_max_lower: [0.8, 0.8, 0.8, 0...
 * /panda_teleop/teleop_joint_pd_example_controller/follower/dq_max_upper: [2.0, 2.0, 2.0, 2...
 * /panda_teleop/teleop_joint_pd_example_controller/follower/drift_comp_gains: [4.3, 4.3, 4.3, 4...
 * /panda_teleop/teleop_joint_pd_example_controller/follower/joint_names: ['panda_2_joint1'...
 * /panda_teleop/teleop_joint_pd_example_controller/follower/p_gains: [900.0, 900.0, 90...
 * /panda_teleop/teleop_joint_pd_example_controller/leader/arm_id: panda_1
 * /panda_teleop/teleop_joint_pd_example_controller/leader/contact_force_threshold: 4.0
 * /panda_teleop/teleop_joint_pd_example_controller/leader/d_gains: [1.0, 1.0, 1.0, 1...
 * /panda_teleop/teleop_joint_pd_example_controller/leader/joint_names: ['panda_1_joint1'...
 * /panda_teleop/teleop_joint_pd_example_controller/type: franka_example_co...
 * /rosdistro: melodic
 * /rosversion: 1.14.12

NODES
  /
    panda_teleop (franka_control/franka_combined_control_node)
  /panda_teleop/
    controller_spawner (controller_manager/spawner)
    hw_controller_spawner (controller_manager/spawner)
    joint_state_publisher (joint_state_publisher/joint_state_publisher)
    robot_state_publisher (robot_state_publisher/robot_state_publisher)
    rviz (rviz/rviz)

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

setting /run_id to de508e80-2c39-11ec-832a-54b203714d48
process[rosout-1]: started with pid [9637]
started core service [/rosout]
process[panda_teleop-2]: started with pid [9644]
process[panda_teleop/hw_controller_spawner-3]: started with pid [9645]
process[panda_teleop/robot_state_publisher-4]: started with pid [9647]
process[panda_teleop/joint_state_publisher-5]: started with pid [9657]
process[panda_teleop/controller_spawner-6]: started with pid [9662]
[ERROR] [1634138760.900804691]: Skipped loading plugin with error: XML Document '/opt/ros/melodic/share/franka_hw/franka_combinable_hw_plugin.xml' has no Root Element. This likely means the XML is malformed or missing..
process[panda_teleop/rviz-7]: started with pid [9664]
[ERROR] [1634138760.902602296]: Could not load robot HW 'panda_1' because robot HW type 'franka_hw/FrankaCombinableHW' does not exist.
[ERROR] [1634138760.919139102]: franka_combined_control_node:: Initialization of FrankaCombinedHW failed!
[ INFO] [1634138761.019994392]: rviz version 1.13.19
[ INFO] [1634138761.020036856]: compiled against Qt version 5.9.5
[ INFO] [1634138761.020239120]: compiled against OGRE version 1.9.0 (Ghadamon)
[ INFO] [1634138761.023706797]: Forcing OpenGl version 0.
[ INFO] [1634138761.156869108]: Stereo is NOT SUPPORTED
[ INFO] [1634138761.157030793]: OpenGL device: llvmpipe (LLVM 10.0.0, 128 bits)
[ INFO] [1634138761.157096934]: OpenGl version: 3,1 (GLSL 1,4).
[INFO] [1634138761.190995]: Controller Spawner: Waiting for service controller_manager/load_controller
[INFO] [1634138761.212712]: Controller Spawner: Waiting for service controller_manager/load_controller
================================================================================REQUIRED process [panda_teleop-2] has died!
process has died [pid 9644, exit code 1, cmd /opt/ros/melodic/lib/franka_control/franka_combined_control_node dyn_reconf_teleop_param_node:=panda_teleop/dyn_reconf_teleop_param_node panda_teleop/dyn_reconf_teleop_param_node/leader_contact_force_threshold:=panda_teleop/teleop_joint_pd_example_controller/leader/contact_force_threshold panda_teleop/dyn_reconf_teleop_param_node/follower_contact_force_threshold:=panda_teleop/teleop_joint_pd_example_controller/follower/contact_force_threshold __name:=panda_teleop __log:=/home/lars/.ros/log/de508e80-2c39-11ec-832a-54b203714d48/panda_teleop-2.log].
log file: /home/lars/.ros/log/de508e80-2c39-11ec-832a-54b203714d48/panda_teleop-2*.log
Initiating shutdown!
================================================================================
[panda_teleop/rviz-7] killing on exit
[panda_teleop/robot_state_publisher-4] killing on exit
[panda_teleop/joint_state_publisher-5] killing on exit
[panda_teleop/controller_spawner-6] killing on exit
[panda_teleop/hw_controller_spawner-3] killing on exit
[panda_teleop-2] killing on exit
[WARN] [1634138761.577772]: Controller Spawner couldn't find the expected controller_manager ROS interface.
[WARN] [1634138761.632718]: Controller Spawner couldn't find the expected controller_manager ROS interface.
[rosout-1] killing on exit
[master] killing on exit
shutting down processing monitor...
... shutting down processing monitor complete
done

There seems to be some issues with franka_combinable_hw_plugin, FrankaCombinableHW, FrankaCombinedHW. But as I am not very familiar with ROS yet, I have no idea how to fix it and would be grateful for any tip.

Best

The solution to the problem was to not install libfranka and franka_ros from the ros repositories (sudo apt install ros-melodic-libfranka ros-melodic-franka-ros) but to build it from source, as it is described here.