No version for distro dashing. Known supported distros are highlighted in the buttons above.
No version for distro crystal. Known supported distros are highlighted in the buttons above.
No version for distro bouncy. Known supported distros are highlighted in the buttons above.

Package Summary

Tags No category tags.
Version 0.5.6
License LGPLv3
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/PilzDE/pilz_robots.git
VCS Type git
VCS Version melodic-devel
Last Updated 2019-06-21
Dev Status DEVELOPED
Released RELEASED

Package Description

Control hardware functions of the PRBT manipulator like STO for Stop1 functionality.

Additional Links

Maintainers

  • Alexander Gutenkunst
  • Christian Henkel
  • Hagen Slusarek
  • Immanuel Martini

Authors

No additional authors.

Overview

The prbt_hardware_support package contains files supporting the certification of a robot system including the PRBT manipulator according to DIN EN ISO 10218-1. As safety controllers the Pilz hardware PNOZmulti and PSS4000 are supported. A Modbus connection is used for the communication between ROS <-> safety controller.

There is no need to call these launch files directly; they are included from prbt_support/robot.launch.

STO

The STO function (“Safe torque off”) of the robot arm is a safety function to immediately turn off torque of the drives.

SBC

The SBC function ("Safe brake control") of the robot arm is a safety function which is used in conjunction with the STO and prevents a motion when the torque of the drives is turned off.

Safe stop 1 (SS1)

To allow a controlled stop, the safety controller delays the STO signal by several milliseconds. This package opens a modbus connection to the safety controller (PNOZmulti or PSS4000). The safety controller sends an emergency stop signal via Modbus immediately so that ros_control has a short time interval to stop the drives via a brake ramp. The TCP could for example brake on the current trajectory. After execution of the brake ramp, the drivers are halted. Even if ROS would fail, the safety controller turns off the motors via STO (that would be a Stop 0 then).

Possible error cases and their handling

Error cases Handling
Modbus client crashes ROS system is shutdown which leads to an abrupt stop of the robot.
STO Modbus adapter crashes ROS system is shutdown which leads to an abrupt stop of the robot.
Connection loss between PNOZmulti/PSS4000 & Modbus client Stop 1 is triggered
System overload (messages don't arrive in time) In case a Stop 1 message does not arrive in time, the safety controller will automatically perform a hard stop. In case a Stop 1-release message does not get through, brakes will remain closed.
STO Modbus adapter cannot connect to stop services ROS system will not start.
STO Modbus adapter cannot connect to recover services Node does start and robot can be moved until a stop is triggered. Afterwards the brakes will remain closed.

Brake tests

Brake tests are an integral part of the SBC, since they detect misfunctions of the brakes or the brake control in general. Brake tests for each drive have to be executed at a regular interval. When the safety controller requests brake tests, they have to be executed within 1 hour, else the robot cannot be moved anymore.

Operation Modes

The robot system can be controlled in various modes.

These modes are: - T1: Speed reduced to 250 mm/s (each robot-frame), enabling switch must be pressed - T2: The robot moves at full speed but still the enabling switch must be pressed - AUTOMATIC: The robot moves at full speed and follows a predefined program/process. No enabling switch is needed but safety has to be ensured by safety peripherie (fences, light curtains, ...).

See DIN EN ISO 10218-1 for more details or contact us: ros@pilz.de

Architecture

Component diagram

ROS API

ModbusClient

A Modbus client (for usage with the PNOZmulti or PSS4000) can be started with roslaunch prbt_hardware_support modbus_read_client.launch.

Published Topics

  • ~/pilz_modbus_node/modbus_read (prbt_hardware_support/ModbusMsgInStamped)
    • Holds information about the modbus holding register. Timestamp is only updated if the register content changed.
  • ~/prbt/brake_test_required (std_msgs/Bool)
    • True, if a brake test is required, false otherwise.

Parameters

  • modbus_server_ip
  • modbus_server_port
  • index_of_first_register_to_read
  • num_registers_to_read
  • modbus_connection_retries (default: 10)
  • modbus_connection_retry_timeout - timeout between retries (default: 1s)
  • modbus_response_timeout (default: 20ms)
  • modbus_topic_name (default: "/pilz_modbus_node/modbus_read")

Please note: - The parameters modbus_response_timeout and modbus_topic_name are important for the Safe stop 1 functionality and must NOT be given, if the modbus_read_node is used as part of the Safe stop 1 functionality. If the parameters are not given the default values for these parameters are used.

StoModbusAdapterNode

The PilzStoModbusAdapterNode is noticed via the topic /pilz_modbus_node/modbus_read if the STO is true or false and reacts as follows calling the corresponding services of the controllers and drivers: - STO true: enable drives, unhold controllers - STO false: hold controllers, disable drives

ModbusAdapterBrakeTestNode

The ModbusAdapterBrakeTestNode is noticed via the topic /pilz_modbus_node/modbus_read if the PSS4000 requests a brake test or if a brake test request is no longer prevailing. As a result, the requirement status is published on /prbt/brake_test_required.

BraketestExecutorNode

The BraketestExecutorNode offers the /execute_braketest service which, in interaction with the CanOpenBraketestAdapter, executes a braketest on each drive of the manipulator. This can only be done, if the robot is stopped. So, if you want to execute a braketest, ensure that the robot stands still.

ModbusAdapterOperationModeNode

The ModbusAdapterOperationModeNode offers the /get_operation_mode service for accessing the active operation mode.

Use rosmsg show prbt_hardware_support/OperationModes to see the definition of each value.

CHANGELOG

Changelog for package prbt_hardware_support

Forthcoming

  • enter hold mode at braketest execution
  • Contributors: Pilz GmbH and Co. KG

0.5.6 (2019-06-12)

  • Essentially reverts wrong fix (depend on canopen_chain_node) from 0.5.5

0.5.5 (2019-06-12)

  • Add missing depend (CATKIN_DEPENDS and <run_depend>) on canopen_chain_node

0.5.4 (2019-05-27)

  • increased modbus response timeout to 20ms
  • publish brake test requests obtained from safety controller via modbus
  • sto_modbus_adapter waits for the services to appear instead of throwing exceptions
  • Add ability to execute a braketest on each drive.
  • Add service to access the active operation mode
  • Contributors: Pilz GmbH and Co. KG

0.5.3 (2019-04-24)

  • cleanup CMakeLists of prbt_hardware_support
  • update the documentation
  • more precise error output when failing to read modbus register
  • Contributors: Pilz GmbH and Co. KG

0.5.2 (2019-02-21)

  • Update used pipeline in test from command_planner to pilz_command_planner
  • Fix PilzModbusReadClient unittest
  • Contributors: Pilz GmbH and Co. KG

0.5.1 (2018-11-30)

  • melodic release based on kinetic version 0.4.3
  • Contributors: Pilz GmbH and Co. KG

0.5.0 (2018-11-07)

0.4.3 (2018-11-30)

0.4.2 (2018-11-08)

  • Fix missing include on std_srvs

0.4.1 (2018-11-07)

  • Use Modbus API v2 due to wrongly specified version 1

0.4.0 (2018-11-06)

  • Modbus client node and STO modbus adapter node for Stop 1 functionality

Wiki Tutorials

See ROS Wiki Tutorials for more details.

Source Tutorials

Not currently indexed.

Launch files

  • launch/canopen_braketest_adapter_node.launch
    • Copyright (c) 2019 Pilz GmbH & Co. KG This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this program. If not, see .
  • launch/brake_test.launch
    • Copyright (c) 2019 Pilz GmbH & Co. KG This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this program. If not, see .
  • launch/modbus_adapter_brake_test_node.launch
    • Copyright (c) 2019 Pilz GmbH & Co. KG This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this program. If not, see .
  • launch/modbus_read_client.launch
    • Copyright (c) 2018 Pilz GmbH & Co. KG This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this program. If not, see .
      • modbus_server_ip [default: 169.254.60.1]
      • modbus_server_port [default: 502]
      • index_of_first_register_to_read [default: 512]
      • num_registers_to_read [default: 4]
  • launch/sto_modbus_adapter_node.launch
    • Copyright (c) 2018 Pilz GmbH & Co. KG This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this program. If not, see .
      • index_of_first_register_to_read [default: 512]
  • launch/brake_test_executor_node.launch
    • Copyright (c) 2019 Pilz GmbH & Co. KG This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this program. If not, see .
  • launch/operation_mode_adapter.launch
    • Copyright (c) 2019 Pilz GmbH & Co. KG This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this program. If not, see .

Plugins

No plugins found.

Recent questions tagged prbt_hardware_support at answers.ros.org

No version for distro lunar. Known supported distros are highlighted in the buttons above.

Package Summary

Tags No category tags.
Version 0.4.9
License LGPLv3
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/PilzDE/pilz_robots.git
VCS Type git
VCS Version kinetic-devel
Last Updated 2019-06-21
Dev Status DEVELOPED
Released RELEASED

Package Description

Control hardware functions of the PRBT manipulator like STO for Stop1 functionality.

Additional Links

Maintainers

  • Alexander Gutenkunst
  • Christian Henkel
  • Hagen Slusarek
  • Immanuel Martini

Authors

No additional authors.

Overview

The prbt_hardware_support package contains files supporting the certification of a robot system including the PRBT manipulator according to DIN EN ISO 10218-1. As safety controllers the Pilz hardware PNOZmulti and PSS4000 are supported. A Modbus connection is used for the communication between ROS <-> safety controller.

There is no need to call these launch files directly; they are included from prbt_support/robot.launch.

STO

The STO function (“Safe torque off”) of the robot arm is a safety function to immediately turn off torque of the drives.

SBC

The SBC function ("Safe brake control") of the robot arm is a safety function which is used in conjunction with the STO and prevents a motion when the torque of the drives is turned off.

Safe stop 1 (SS1)

To allow a controlled stop, the safety controller delays the STO signal by several milliseconds. This package opens a modbus connection to the safety controller (PNOZmulti or PSS4000). The safety controller sends an emergency stop signal via Modbus immediately so that ros_control has a short time interval to stop the drives via a brake ramp. The TCP could for example brake on the current trajectory. After execution of the brake ramp, the drivers are halted. Even if ROS would fail, the safety controller turns off the motors via STO (that would be a Stop 0 then).

Possible error cases and their handling

Error cases Handling
Modbus client crashes ROS system is shutdown which leads to an abrupt stop of the robot.
STO Modbus adapter crashes ROS system is shutdown which leads to an abrupt stop of the robot.
Connection loss between PNOZmulti/PSS4000 & Modbus client Stop 1 is triggered
System overload (messages don't arrive in time) In case a Stop 1 message does not arrive in time, the safety controller will automatically perform a hard stop. In case a Stop 1-release message does not get through, brakes will remain closed.
STO Modbus adapter cannot connect to stop services ROS system will not start.
STO Modbus adapter cannot connect to recover services Node does start and robot can be moved until a stop is triggered. Afterwards the brakes will remain closed.

Brake tests

Brake tests are an integral part of the SBC, since they detect misfunctions of the brakes or the brake control in general. Brake tests for each drive have to be executed at a regular interval. When the safety controller requests brake tests, they have to be executed within 1 hour, else the robot cannot be moved anymore.

Operation Modes

The robot system can be controlled in various modes.

These modes are: - T1: Speed reduced to 250 mm/s (each robot-frame), enabling switch must be pressed - T2: The robot moves at full speed but still the enabling switch must be pressed - AUTOMATIC: The robot moves at full speed and follows a predefined program/process. No enabling switch is needed but safety has to be ensured by safety peripherie (fences, light curtains, ...).

See DIN EN ISO 10218-1 for more details or contact us: ros@pilz.de

Architecture

Component diagram

ROS API

ModbusClient

A Modbus client (for usage with the PNOZmulti or PSS4000) can be started with roslaunch prbt_hardware_support modbus_read_client.launch.

Published Topics

  • ~/pilz_modbus_node/modbus_read (prbt_hardware_support/ModbusMsgInStamped)
    • Holds information about the modbus holding register. Timestamp is only updated if the register content changed.
  • ~/prbt/brake_test_required (std_msgs/Bool)
    • True, if a brake test is required, false otherwise.

Parameters

  • modbus_server_ip
  • modbus_server_port
  • index_of_first_register_to_read
  • num_registers_to_read
  • modbus_connection_retries (default: 10)
  • modbus_connection_retry_timeout - timeout between retries (default: 1s)
  • modbus_response_timeout (default: 20ms)
  • modbus_topic_name (default: "/pilz_modbus_node/modbus_read")

Please note: - The parameters modbus_response_timeout and modbus_topic_name are important for the Safe stop 1 functionality and must NOT be given, if the modbus_read_node is used as part of the Safe stop 1 functionality. If the parameters are not given the default values for these parameters are used.

StoModbusAdapterNode

The PilzStoModbusAdapterNode is noticed via the topic /pilz_modbus_node/modbus_read if the STO is true or false and reacts as follows calling the corresponding services of the controllers and drivers: - STO true: enable drives, unhold controllers - STO false: hold controllers, disable drives

ModbusAdapterBrakeTestNode

The ModbusAdapterBrakeTestNode is noticed via the topic /pilz_modbus_node/modbus_read if the PSS4000 requests a brake test or if a brake test request is no longer prevailing. As a result, the requirement status is published on /prbt/brake_test_required.

BraketestExecutorNode

The BraketestExecutorNode offers the /execute_braketest service which, in interaction with the CanOpenBraketestAdapter, executes a braketest on each drive of the manipulator. This can only be done, if the robot is stopped. So, if you want to execute a braketest, ensure that the robot stands still.

ModbusAdapterOperationModeNode

The ModbusAdapterOperationModeNode offers the /get_operation_mode service for accessing the active operation mode.

Use rosmsg show prbt_hardware_support/OperationModes to see the definition of each value.

CHANGELOG

Changelog for package prbt_hardware_support

Forthcoming

  • enter hold mode at braketest execution
  • Contributors: Pilz GmbH and Co. KG

0.4.9 (2019-06-19)

  • increased modbus response timeout to 20ms
  • publish brake test requests obtained from safety controller via modbus
  • sto_modbus_adapter waits for the services to appear instead of throwing exceptions
  • Add ability to execute a braketest on each drive.
  • Contributors: Pilz GmbH and Co. KG

0.4.8 (2019-04-24)

  • cleanup CMakeLists of prbt_hardware_support
  • update the documentation
  • Contributors: Pilz GmbH and Co. KG

0.4.7 (2019-02-15)

  • drop outdated can configuration
  • Contributors: Pilz GmbH and Co. KG

0.4.6 (2019-01-18)

  • Update used pipeline in test from command_planner to pilz_command_planner

0.4.5 (2019-01-16)

0.4.4 (2019-01-16)

  • Fix PilzModbusReadClient unittest

0.4.3 (2018-11-30)

0.4.2 (2018-11-08)

  • Fix missing include on std_srvs

0.4.1 (2018-11-07)

  • Use Modbus API v2 due to wrongly specified version 1

0.4.0 (2018-11-06)

  • Modbus client node and STO modbus adapter node for Stop 1 functionality

Wiki Tutorials

See ROS Wiki Tutorials for more details.

Source Tutorials

Not currently indexed.

Launch files

  • launch/canopen_braketest_adapter_node.launch
    • Copyright (c) 2019 Pilz GmbH & Co. KG This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this program. If not, see .
  • launch/brake_test.launch
    • Copyright (c) 2019 Pilz GmbH & Co. KG This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this program. If not, see .
  • launch/modbus_adapter_brake_test_node.launch
    • Copyright (c) 2019 Pilz GmbH & Co. KG This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this program. If not, see .
  • launch/modbus_read_client.launch
    • Copyright (c) 2018 Pilz GmbH & Co. KG This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this program. If not, see .
      • modbus_server_ip [default: 169.254.60.1]
      • modbus_server_port [default: 502]
      • index_of_first_register_to_read [default: 512]
      • num_registers_to_read [default: 4]
  • launch/sto_modbus_adapter_node.launch
    • Copyright (c) 2018 Pilz GmbH & Co. KG This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this program. If not, see .
      • index_of_first_register_to_read [default: 512]
  • launch/brake_test_executor_node.launch
    • Copyright (c) 2019 Pilz GmbH & Co. KG This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this program. If not, see .
  • launch/operation_mode_adapter.launch
    • Copyright (c) 2019 Pilz GmbH & Co. KG This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this program. If not, see .

Plugins

No plugins found.

Recent questions tagged prbt_hardware_support at answers.ros.org

No version for distro ardent. Known supported distros are highlighted in the buttons above.
No version for distro jade. Known supported distros are highlighted in the buttons above.
No version for distro indigo. Known supported distros are highlighted in the buttons above.
No version for distro hydro. Known supported distros are highlighted in the buttons above.