psen_scan_v2 package from psen_scan_v2 repo

psen_scan_v2

Package Summary

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

Repository Summary

Checkout URI https://github.com/PilzDE/psen_scan_v2.git
VCS Type git
VCS Version main
Last Updated 2021-01-18
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

ROS support for the Pilz laser scanner

Additional Links

No additional links.

Maintainers

  • Alexander Gutenkunst
  • Christian Döhn
  • Christian Henkel
  • Immanuel Martini
  • Richard Feistenauer

Authors

No additional authors.

PILZ

PILZ safety laser scanner PSENscan

Package: psen_scan_v2

The psen_scan_v2 package is a ROS integration of the PSENscan safety laser scanner product. It lets you integrate the laser scanner data into your ROS Environment easily. Using the standard [sensor_msgs/LaserScan][] message format ensures compatibility with other laserscan-post-processing nodes such as [gmapping][]. For a general overview and link collection we refer to the wiki page.

PILZ safety laser scanner

PSENscan firmware >= 3.1.0 is supported on the following models:

Type Features Order number
Common features:
  • compliant and approved in accordance with: EN/IEC 61496-1: Type 3, EN ISO 13849-1: PL d, IEC 61508: SIL 2
  • opening angle: 275°
  • operating range: 3.0 or 5.5 m safety zone, 40 m warning zone
  • reaction time: 62 ms
  • Protection type: IP65
  • Dimensions (H x W x D) in mm: 152 x 102 x 112.5
Light versions Additional features: Muting, EDM, Override
PSEN sc L 3.0 08-12 3.0 m safety zone, 8 or 12-pin exchangeable memory module 6D000012
PSEN sc L 5.5 08-12 5.5 m safety zone, 8 or 12-pin exchangeable memory module 6D000013
Master versions Additional features: Muting, EDM, Override, restart in accordance with EN ISO 61496-3, vertical applications
PSEN sc M 3.0 08-12 3.0 m safety zone, 8 or 12-pin exchangeable memory module 6D000016
PSEN sc M 5.5 08-12 5.5 m safety zone, 8 or 12-pin exchangeable memory module 6D000017

Table of Contents

  1. Installation
  2. Build Status
  3. Setup
  4. ROS API
  5. Usage
  6. C++ standalone library

Installation

To use the package, you can install prebuilt packages with

sudo apt install ros-$ROS_DISTRO-psen-scan-v2

Migration

To update your ROS environment from the former psen_scan package (which supported firmware versions up to 3.0), please execute the following steps: 1. Update scanner firmware using PSENscan Configurator (unless the device has firmware 3.1 already) 2. Install the new ROS package sudo apt install ros-$ROS_DISTRO-psen-scan-v2 3. Replace the launch file arguments: * password and x_axis_rotation are obsolete and should be dropped * angle_start and angle_end are now in radians, in direction of the x axis of the scanner tf frame 4. In your application launch file / roslaunch command: replace all occurrences of psen_scan with psen_scan_v2

Build Status

Platform Melodic Noetic
CI CI-Melodic CI-Noetic
Buildfarm src Build Status Build Status
Buildfarm bin Build Status Build Status

Branching model

main is considered to be the active development branch, it targets the ROS distributions melodic and noetic.

Setup

Needed Equipment: - PSENscan safety laser scanner - ROS Machine

ROS API

Published Topics

/laser_scanner/scan ([sensor_msgs/LaserScan][])
Publishes a complete scan from the PSENscan safety laser scanner.

Parameters

host_ip (string, default: "192.168.0.50")
IP-Address of host machine.

sensor_ip (string, default: "192.168.0.10")
IP-Address of safety laser scanner.

Further Parameters (optional)

host_udp_port_data (int, default: 55115)
UDP Port on which monitoring frames (scans) should be received.

host_udp_port_control (int, default: 55116)
UDP Port used to send commands (start/stop) and receive the corresponding replies.

prefix (string, default: "laser_1")
Name of this scanner that can be changed to differentiate between multiple units.

angle_start (double, default: -2.40 (= -137.5 deg))
Start angle of measurement. (Radian)

angle_end (double, default: 2.40 (= 137.5 deg))
End angle of measurement. (Radian)

Usage

To start reading from the safety laser scanner and publishing complete scans execute roslaunch psen_scan_v2 psen_scan_v2.launch in a command line. This will launch the ROS Node with the default configuration.

If you wish to set parameters from the command line, add them to the end of the command as follows: parameter:=value, separated by spaces.

roslaunch psen_scan_v2 psen_scan_v2.launch sensor_ip:=192.168.0.10 host_ip:=192.168.0.20 host_udp_port_data:=3050

This example configures the safety laser scanner at 192.168.0.10 to send it´s frames to 192.168.0.20:3050.

TF Frames

The location of the TF frames is shown in the image below. These names are defined by the aforementioned launchfile parameter prefix. Changing them is necessary for instance when running multiple scanners.

PILZ safety laser scanner frames

Defining the scan range

You can adjust the scan field to your needs by changing angle_start and angle_end. The published ([sensor_msgs/LaserScan][]) will only contain data within the given angle limits. Both limits are defined within the laser_1_scan frame as shown in the image below.

Limit visualization

Adjust expert parameters

If you've created an application package with your own launch file as described in the tutorials, you can easily adjust the aforementioned configuration parameters.

C++ standalone library

If you are interested in using the PSENscan safety laser scanner without ROS, please take a look at our C++ standalone library. You can read more about it here

Test concept

psen_scan_test_concept

You need further information?

Our international hotline staff will support you individually about our ROS packages at ros@pilz.de

Find more information about the PILZ safety laser scanner on the product website.

Visit us at pilz.com

PILZ is an international-scale, innovative automation technology company. PILZ uses its solutions to create safety for man, machine and the environment. In addition to head office in Ostfildern near Stuttgart, the family business is represented over 2,400 employees at 42 subsidiaries and branches on all continents.

The company’s products include sensor technology, electronic monitoring relays, safety relays, configurable and programmable control systems, automation solutions with motion control, systems for industrial communication as well as visualization solutions and operator terminals.

PILZ solutions can be used in all areas of mechanical engineering, including the packaging and automotive sector, plus the railway technology, press and wind energy sectors. These solutions ensure that baggage handling systems run safely at airports and funiculars or roller coasters travel safely; they also guarantee fire protection and energy supply in buildings.

[sensor_msgs/LaserScan]: http://docs.ros.org/noetic/api/sensor_msgs/html/msg/LaserScan.html [gmapping]: http://wiki.ros.org/gmapping

CHANGELOG

Changelog for package psen_scan_v2

Forthcoming

  • Enable separate building of cpp-lib; extract sources into subproject psen_scan_v2_standalone
  • Contributors: Pilz GmbH and Co. KG

0.1.4 (2021-01-13)

  • Add internal error handling for detecting regressions in the scanner firmware
  • Make specifying udp ports optional
  • Contributors: Pilz GmbH and Co. KG

0.1.3 (2020-12-09)

  • Add ROS noetic support (#103)
  • Use TYPED_TEST_SUITE instead of deprecated TYPED_TEST_CASE
  • Apply fixes from clang-format (#113)
  • Spelling measurements (#112)
  • Directly use fmt lib instead of rosfmt (#108)
  • Fix clang tidy errors (#109)
  • Feature/api documentation improvement (#100)
  • Improve the API documentation
  • Add ROS Noetic support
  • Contributors: Pilz GmbH and Co. KG

0.1.2 (2020-11-24)

  • Add Scanner ports in ScannerConfiguration
  • Switch branching model: Introduce main branch
  • Use github actions
  • Adds missing error bit
  • Contributors: Pilz GmbH and Co. KG

0.1.1 (2020-11-10)

  • Add intensity data to LaserScan
  • Print user message if dropped MonitoringFrames are detected
  • Print user message in case of timeout while waiting for MonitoringFrames
  • Adjust min and max scanner range. Fixes #70
  • Print diagnostic messages from PSENscan
  • Notify user about start retry
  • Add Continuous Acceptance Test
  • Contributors: Pilz GmbH and Co. KG

0.1.0 (2020-10-19)

  • Initial release for the support of PSENscan firmware >= 3.1.0
  • Start and stop the PSENscan monitoring function
  • Publish measurement data of each monitoring frame as a single ROS LaserScan message
  • Retry activation of the monitoring function on start reply timeout
  • Adding urdf for scanner and swapping Z axis of TF frame where scan is published to be sent in correct order
  • Contributors: Pilz GmbH and Co. KG

Wiki Tutorials

See ROS Wiki Tutorials for more details.

Source Tutorials

Not currently indexed.

Launch files

  • launch/psen_scan_v2.launch
    • Copyright (c) 2020-2021 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 .
      • host_ip [default: 192.168.0.50]
      • host_udp_port_data [default: 55115]
      • host_udp_port_control [default: 55116]
      • sensor_ip [default: 192.168.0.10]
      • prefix [default: laser_1]
      • angle_start [default: $(eval -137.5 /180.0 * pi)]
      • angle_end [default: $(eval 137.5 /180.0 * pi)]

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged psen_scan_v2 at answers.ros.org

psen_scan_v2 package from psen_scan_v2 repo

psen_scan_v2

Package Summary

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

Repository Summary

Checkout URI https://github.com/PilzDE/psen_scan_v2.git
VCS Type git
VCS Version main
Last Updated 2021-01-18
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

ROS support for the Pilz laser scanner

Additional Links

No additional links.

Maintainers

  • Alexander Gutenkunst
  • Christian Döhn
  • Christian Henkel
  • Immanuel Martini
  • Richard Feistenauer

Authors

No additional authors.

PILZ

PILZ safety laser scanner PSENscan

Package: psen_scan_v2

The psen_scan_v2 package is a ROS integration of the PSENscan safety laser scanner product. It lets you integrate the laser scanner data into your ROS Environment easily. Using the standard [sensor_msgs/LaserScan][] message format ensures compatibility with other laserscan-post-processing nodes such as [gmapping][]. For a general overview and link collection we refer to the wiki page.

PILZ safety laser scanner

PSENscan firmware >= 3.1.0 is supported on the following models:

Type Features Order number
Common features:
  • compliant and approved in accordance with: EN/IEC 61496-1: Type 3, EN ISO 13849-1: PL d, IEC 61508: SIL 2
  • opening angle: 275°
  • operating range: 3.0 or 5.5 m safety zone, 40 m warning zone
  • reaction time: 62 ms
  • Protection type: IP65
  • Dimensions (H x W x D) in mm: 152 x 102 x 112.5
Light versions Additional features: Muting, EDM, Override
PSEN sc L 3.0 08-12 3.0 m safety zone, 8 or 12-pin exchangeable memory module 6D000012
PSEN sc L 5.5 08-12 5.5 m safety zone, 8 or 12-pin exchangeable memory module 6D000013
Master versions Additional features: Muting, EDM, Override, restart in accordance with EN ISO 61496-3, vertical applications
PSEN sc M 3.0 08-12 3.0 m safety zone, 8 or 12-pin exchangeable memory module 6D000016
PSEN sc M 5.5 08-12 5.5 m safety zone, 8 or 12-pin exchangeable memory module 6D000017

Table of Contents

  1. Installation
  2. Build Status
  3. Setup
  4. ROS API
  5. Usage
  6. C++ standalone library

Installation

To use the package, you can install prebuilt packages with

sudo apt install ros-$ROS_DISTRO-psen-scan-v2

Migration

To update your ROS environment from the former psen_scan package (which supported firmware versions up to 3.0), please execute the following steps: 1. Update scanner firmware using PSENscan Configurator (unless the device has firmware 3.1 already) 2. Install the new ROS package sudo apt install ros-$ROS_DISTRO-psen-scan-v2 3. Replace the launch file arguments: * password and x_axis_rotation are obsolete and should be dropped * angle_start and angle_end are now in radians, in direction of the x axis of the scanner tf frame 4. In your application launch file / roslaunch command: replace all occurrences of psen_scan with psen_scan_v2

Build Status

Platform Melodic Noetic
CI CI-Melodic CI-Noetic
Buildfarm src Build Status Build Status
Buildfarm bin Build Status Build Status

Branching model

main is considered to be the active development branch, it targets the ROS distributions melodic and noetic.

Setup

Needed Equipment: - PSENscan safety laser scanner - ROS Machine

ROS API

Published Topics

/laser_scanner/scan ([sensor_msgs/LaserScan][])
Publishes a complete scan from the PSENscan safety laser scanner.

Parameters

host_ip (string, default: "192.168.0.50")
IP-Address of host machine.

sensor_ip (string, default: "192.168.0.10")
IP-Address of safety laser scanner.

Further Parameters (optional)

host_udp_port_data (int, default: 55115)
UDP Port on which monitoring frames (scans) should be received.

host_udp_port_control (int, default: 55116)
UDP Port used to send commands (start/stop) and receive the corresponding replies.

prefix (string, default: "laser_1")
Name of this scanner that can be changed to differentiate between multiple units.

angle_start (double, default: -2.40 (= -137.5 deg))
Start angle of measurement. (Radian)

angle_end (double, default: 2.40 (= 137.5 deg))
End angle of measurement. (Radian)

Usage

To start reading from the safety laser scanner and publishing complete scans execute roslaunch psen_scan_v2 psen_scan_v2.launch in a command line. This will launch the ROS Node with the default configuration.

If you wish to set parameters from the command line, add them to the end of the command as follows: parameter:=value, separated by spaces.

roslaunch psen_scan_v2 psen_scan_v2.launch sensor_ip:=192.168.0.10 host_ip:=192.168.0.20 host_udp_port_data:=3050

This example configures the safety laser scanner at 192.168.0.10 to send it´s frames to 192.168.0.20:3050.

TF Frames

The location of the TF frames is shown in the image below. These names are defined by the aforementioned launchfile parameter prefix. Changing them is necessary for instance when running multiple scanners.

PILZ safety laser scanner frames

Defining the scan range

You can adjust the scan field to your needs by changing angle_start and angle_end. The published ([sensor_msgs/LaserScan][]) will only contain data within the given angle limits. Both limits are defined within the laser_1_scan frame as shown in the image below.

Limit visualization

Adjust expert parameters

If you've created an application package with your own launch file as described in the tutorials, you can easily adjust the aforementioned configuration parameters.

C++ standalone library

If you are interested in using the PSENscan safety laser scanner without ROS, please take a look at our C++ standalone library. You can read more about it here

Test concept

psen_scan_test_concept

You need further information?

Our international hotline staff will support you individually about our ROS packages at ros@pilz.de

Find more information about the PILZ safety laser scanner on the product website.

Visit us at pilz.com

PILZ is an international-scale, innovative automation technology company. PILZ uses its solutions to create safety for man, machine and the environment. In addition to head office in Ostfildern near Stuttgart, the family business is represented over 2,400 employees at 42 subsidiaries and branches on all continents.

The company’s products include sensor technology, electronic monitoring relays, safety relays, configurable and programmable control systems, automation solutions with motion control, systems for industrial communication as well as visualization solutions and operator terminals.

PILZ solutions can be used in all areas of mechanical engineering, including the packaging and automotive sector, plus the railway technology, press and wind energy sectors. These solutions ensure that baggage handling systems run safely at airports and funiculars or roller coasters travel safely; they also guarantee fire protection and energy supply in buildings.

[sensor_msgs/LaserScan]: http://docs.ros.org/noetic/api/sensor_msgs/html/msg/LaserScan.html [gmapping]: http://wiki.ros.org/gmapping

CHANGELOG

Changelog for package psen_scan_v2

Forthcoming

  • Enable separate building of cpp-lib; extract sources into subproject psen_scan_v2_standalone
  • Contributors: Pilz GmbH and Co. KG

0.1.4 (2021-01-13)

  • Add internal error handling for detecting regressions in the scanner firmware
  • Make specifying udp ports optional
  • Contributors: Pilz GmbH and Co. KG

0.1.3 (2020-12-09)

  • Add ROS noetic support (#103)
  • Use TYPED_TEST_SUITE instead of deprecated TYPED_TEST_CASE
  • Apply fixes from clang-format (#113)
  • Spelling measurements (#112)
  • Directly use fmt lib instead of rosfmt (#108)
  • Fix clang tidy errors (#109)
  • Feature/api documentation improvement (#100)
  • Improve the API documentation
  • Add ROS Noetic support
  • Contributors: Pilz GmbH and Co. KG

0.1.2 (2020-11-24)

  • Add Scanner ports in ScannerConfiguration
  • Switch branching model: Introduce main branch
  • Use github actions
  • Adds missing error bit
  • Contributors: Pilz GmbH and Co. KG

0.1.1 (2020-11-10)

  • Add intensity data to LaserScan
  • Print user message if dropped MonitoringFrames are detected
  • Print user message in case of timeout while waiting for MonitoringFrames
  • Adjust min and max scanner range. Fixes #70
  • Print diagnostic messages from PSENscan
  • Notify user about start retry
  • Add Continuous Acceptance Test
  • Contributors: Pilz GmbH and Co. KG

0.1.0 (2020-10-19)

  • Initial release for the support of PSENscan firmware >= 3.1.0
  • Start and stop the PSENscan monitoring function
  • Publish measurement data of each monitoring frame as a single ROS LaserScan message
  • Retry activation of the monitoring function on start reply timeout
  • Adding urdf for scanner and swapping Z axis of TF frame where scan is published to be sent in correct order
  • Contributors: Pilz GmbH and Co. KG

Wiki Tutorials

See ROS Wiki Tutorials for more details.

Source Tutorials

Not currently indexed.

Launch files

  • launch/psen_scan_v2.launch
    • Copyright (c) 2020-2021 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 .
      • host_ip [default: 192.168.0.50]
      • host_udp_port_data [default: 55115]
      • host_udp_port_control [default: 55116]
      • sensor_ip [default: 192.168.0.10]
      • prefix [default: laser_1]
      • angle_start [default: $(eval -137.5 /180.0 * pi)]
      • angle_end [default: $(eval 137.5 /180.0 * pi)]

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged psen_scan_v2 at answers.ros.org