PilzDE / pilz_robots

PILZ robot manipulator module PRBT 6 in ROS
https://wiki.ros.org/pilz_robots
52 stars 25 forks source link

ROSException: timeout exceeded while waiting for service /prbt/get_speed_override #337

Closed tswie closed 4 years ago

tswie commented 4 years ago

Commit

Latest melodic push.

Steps to reproduce

This happens when I attempt to run a motion server for my robot using PILZ.

Expected behavior

The server should launch and await requests from other programs.

Observed behavior

The initialization times out waiting for the /prbt/get_speed_override service. This code previously worked on kinetic.

Which node is supposed to run this service exactly? I can't find it anywhere.

hslusarek commented 4 years ago

Hello, first off, thanks for your report. In order, to understand your problem I need more information.

Firstly, what do you mean by "latest melodic push"? Do you mean commit ce7cb7f5c6e23057b7a9dd6611e725a0d090d0d3 from pilz_robot?

The service /prbt/get_speed_override service is provided by the OperationModeSetupExecutor see operation_mode_setup_executor_node.cpp line 80 and operation_mode_setup_executor.cpp line 65.

The note is started via moveit_planning_execution.launch -> robot.launch -> operation_mode.launch -> operation_mode_setup_executor_node.launch

[...] when I attempt to run a motion server for my robot using PILZ.

Can you provide more information regarding this statement, please?

hslusarek commented 4 years ago

The /prbt/get_speed_override service also exists in kinetic-devel see operation_mode_setup_executor_node.cpp on kinetic-devel.

jschleicher commented 4 years ago

@tswie The service is provided by the modbus communcation nodes when running a real PRBT hardware setup including safety controller. Without operationmode feature just launch fake_speed_override_node as in https://github.com/PilzDE/pilz_robots/blob/melodic-devel/prbt_hardware_support/launch/fake_safety_interface.launch.