psen_scan package from psen_scan repo


Package Summary

Tags No category tags.
Version 1.0.8
License LGPLv3
Build type CATKIN

Repository Summary

Checkout URI
VCS Type git
VCS Version melodic-devel
Last Updated 2020-10-23
Dev Status END-OF-LIFE
CI status
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

The psen_scan package for Pilz laser scanner

Additional Links

No additional links.


  • Alexander Gutenkunst
  • Christian Döhn
  • Giuseppe Sansone
  • Sascha Heinisch


No additional authors.


You are using an outdated version of psen_scan. Please update your scanner firmware and use the new psen_scan_v2 package. See for detailed instruction.


PILZ safety laser scanner PSENscan

Package: psen_scan

The psen_scan package is a ROS integration of the PSENscan safety laser scanner product. It allows for an easy integration of the laser scanner data into your ROS Environment. 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

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


To use the package, you can install prebuilt packages with

sudo apt install ros-melodic-psen-scan

Build Status

Platform Status
Travis Build Status
Buildfarm src Build Status
Buildfarm bin Build Status

Branching model

melodic-devel is considered to be the active development branch.


Needed Equipment: - PSENscan safety laser scanner - ROS Machine


Published Topics

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


password (string, default: "ac0d68d033")
Password for safety laser scanner.

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

host_udp_port (int, default: 55115)
UDP Port on which packets from safety laser scanner should be received.

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

frame_id (string, default: "scanner")
Identifier used for transformations within ROS environment.

skip (int, default: 0)
How many incoming frames should be skipped (reduces publish rate).

angle_start (float, default: 0)
Start angle of measurement.

angle_end (float, default: 275)
End angle of measurement.

x_axis_rotation (float, default: 137.5)
Clockwise rotation of the x-axis around the center in degrees.


To start reading from the safety laser scanner and publishing complete scans execute roslaunch psen_scan psen_scan.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 psen_scan.launch sensor_ip:= host_ip:= host_udp_port:=3050

This example configures the safety laser scanner at to send it´s frames to

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.

Test concept


You need further information?

Our international hotline staff will support you individually about our ROS packages at

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

Visit us at

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.


Changelog for package psen_scan

1.0.8 (2020-10-22)

  • Add deprecation warning: End-of-life reached (#101)
  • Add new AcceptanceTest for publish_test. (#100)
  • Create test_concept (#41)
  • Contributors: Pilz GmbH & Co KG

1.0.7 (2020-07-31)

  • Introducing an acceptance test to avoid high cpu usage
  • Refactor read timeout in psen_scan_upd_interface.h (#45)
  • Improve/integrationtest psen scan upd interface (#42)
  • Contributors: Pilz GmbH & Co KG

1.0.6 (2020-07-08)

  • Remove travis jobs for kinetic
  • Adds sleep to udp package availabillity check.
  • Install config folder
  • Update travis recipients
  • Contributors: Pilz GmbH & Co KG

1.0.5 (2020-07-03)

  • Add coverage check to travis ci and switches to cmake version 2.8.12
  • Rename all test-files and move into subfolders
  • Update README
  • Remove ros parameters \'publish_topic\' and \'node_name\'.
  • Add integrationtest to test correct publishing of scan topic.
  • Change Rviz config to some common values
  • Add new acceptance test for psen_scan.
  • Add travis job for clang-format
  • Contributors: Pilz GmbH & Co KG

1.0.4 (2020-03-05)

  • Fix/ros parameter handling (#15)
  • Add Travis and ROS Buildfarm Badges to README. (#16)
  • Minor typefix (#14)
  • Fix unstable udp interface test. (#13)
  • Feature/code analysis tools (#12)

1.0.3 (2020-01-17)

  • Add x-axis-rotation feature. Introduced new parameter \"x_axis_rotation\" which describes clockwise rotation of the x-axis around the center in degrees. The default value is 275

Wiki Tutorials

See ROS Wiki Tutorials for more details.

Source Tutorials

Not currently indexed.

Dependant Packages

No known dependants.

Launch files

  • launch/psen_scan.launch
    • Copyright (c) 2019-2020 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 .
      • password [default: ac0d68d033]
      • host_ip [default:]
      • host_udp_port [default: 55115]
      • sensor_ip [default:]
      • frame_id [default: scanner]
      • skip [default: 0]
      • angle_start [default: 0]
      • angle_end [default: 275]
      • x_axis_rotation [default: 137.5]


No message files found.


No service files found


No plugins found.

Recent questions tagged psen_scan at Robotics Stack Exchange