Repo symbol

sicks300_ros2 repository

sicks300_ros2

ROS Distro
humble

Repository Summary

Checkout URI https://github.com/ajtudela/sicks300_ros2.git
VCS Type git
VCS Version humble
Last Updated 2025-02-13
Dev Status MAINTAINED
Released RELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
sicks300_ros2 1.3.2

README

sicks300_ros2

ROS2 License Build

Overview

This package implements a driver for the Sick S300 Safety laser scanners with an interface for ROS 2 using a lifecycle node. It provides an implementation for both, the old (1.40) and the new (2.10) protocol. Thus, the old Sick S300 Professional CMS as well as the new Sick S300 Expert are supported.

However, it does not cover the full functionality of the protocol:

  • It only handles distance measurements properly
  • It only handles no or only one configured measurement range field properly
  • It does not handle I/O-data or reflector data (though it reads the reflector marker field in the distance measurements)

Keywords: ROS2, laser, driver, sick s300, lifecycle

The sicks300_ros2 package has been tested under [ROS2] Humble on [Ubuntu] 22.04. but ported to ROS2. This is research code, expect that it changes often and any fitness for a particular purpose is disclaimed.

S300 Configuration

Here are a few notes about how to best configure the S300:

  • Configure the RS422 output to 500kBaud (otherwise, the scanner only provides a lower frequency)
  • Configure the scanner to Continuous Data Output
  • Send data via one telegram
  • Only configure distances, no I/O or reflector data (otherwise, the scanner only provides a lower frequency).
  • Configuration of the measurement ranges
    • For protocol 1.40: only configure one measurement range field with the full range (-45° to 225°) with all values.
    • For protocol 2.10: do not configure a measurement range field (otherwise, the scanner only provides a lower frequency).
  • If you want to only use certain measurement ranges, do this on the ROS side using e.g. the laser_filters package.

Installation

Building from Source

Dependencies

Building

To build from source, clone the latest version from this repository into your colcon workspace and compile the package using

cd colcon_workspace/src
git clone https://github.com/ajtudela/sicks300_ros2.git
cd ../
rosdep install -i --from-path src --rosdistro humble -y
colcon build

Usage

Add the user to the dialout group to access the USB port:

sudo usermod -a -G dialout $USER

Run the sicks300_ros2 node with:

ros2 run sicks300_ros2 sicks300_ros2

Optionally, you can launch this node with an angulor bound filter:

ros2 launch sicks300_ros2 scan_with_filter.launch.py

Nodes

sicks300_ros2

Driver for the Sick S300 Safety laser scanners.

Published Topics

  • scan ([sensor_msgs/LaserScan])

    The laserscan data.

  • scan/standby ([std_msgs/Bool])

    True if the scanner is in standby mode, false otherwise.

  • /diagnostics ([diagnostic_msgs/DiagnosticArray])

    Diagnostic about the laser scan.

Parameters

  • port (string, default: “/dev/ttyUSB0”)

    USB port of the scanner.

  • baud (int, default: 500000)

    Baudrate to communicate with the laser scanner.

File truncated at 100 lines see the full file

Repo symbol

sicks300_ros2 repository

sicks300_ros2

ROS Distro
jazzy

Repository Summary

Checkout URI https://github.com/ajtudela/sicks300_ros2.git
VCS Type git
VCS Version jazzy
Last Updated 2025-02-13
Dev Status MAINTAINED
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
sicks300_ros2 1.3.3

README

sicks300_ros2

ROS2 License Build

Overview

This package implements a driver for the Sick S300 Safety laser scanners with an interface for ROS 2 using a lifecycle node. It provides an implementation for both, the old (1.40) and the new (2.10) protocol. Thus, the old Sick S300 Professional CMS as well as the new Sick S300 Expert are supported.

However, it does not cover the full functionality of the protocol:

  • It only handles distance measurements properly
  • It only handles no or only one configured measurement range field properly
  • It does not handle I/O-data or reflector data (though it reads the reflector marker field in the distance measurements)

Keywords: ROS2, laser, driver, sick s300, lifecycle

The sicks300_ros2 package has been tested under [ROS2] Jazzy on [Ubuntu] 24.04. but ported to ROS2. This is research code, expect that it changes often and any fitness for a particular purpose is disclaimed.

S300 Configuration

Here are a few notes about how to best configure the S300:

  • Configure the RS422 output to 500kBaud (otherwise, the scanner only provides a lower frequency)
  • Configure the scanner to Continuous Data Output
  • Send data via one telegram
  • Only configure distances, no I/O or reflector data (otherwise, the scanner only provides a lower frequency).
  • Configuration of the measurement ranges
    • For protocol 1.40: only configure one measurement range field with the full range (-45° to 225°) with all values.
    • For protocol 2.10: do not configure a measurement range field (otherwise, the scanner only provides a lower frequency).
  • If you want to only use certain measurement ranges, do this on the ROS side using e.g. the laser_filters package.

Installation

Building from Source

Dependencies

Building

To build from source, clone the latest version from this repository into your colcon workspace and compile the package using

cd colcon_workspace/src
git clone https://github.com/ajtudela/sicks300_ros2.git
cd ../
rosdep install -i --from-path src --rosdistro jazzy -y
colcon build

Usage

Add the user to the dialout group to access the USB port:

sudo usermod -a -G dialout $USER

Run the sicks300_ros2 node with:

ros2 run sicks300_ros2 sicks300_ros2

Optionally, you can launch this node with an angulor bound filter:

ros2 launch sicks300_ros2 scan_with_filter.launch.py

Nodes

sicks300_ros2

Driver for the Sick S300 Safety laser scanners.

Published Topics

  • scan ([sensor_msgs/LaserScan])

    The laserscan data.

  • scan/standby ([std_msgs/Bool])

    True if the scanner is in standby mode, false otherwise.

  • /diagnostics ([diagnostic_msgs/DiagnosticArray])

    Diagnostic about the laser scan.

Parameters

  • port (string, default: “/dev/ttyUSB0”)

    USB port of the scanner.

  • baud (int, default: 500000)

    Baudrate to communicate with the laser scanner.

File truncated at 100 lines see the full file

Repo symbol

sicks300_ros2 repository

sicks300_ros2

ROS Distro
kilted

Repository Summary

Checkout URI https://github.com/ajtudela/sicks300_ros2.git
VCS Type git
VCS Version main
Last Updated 2025-03-05
Dev Status MAINTAINED
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
sicks300_ros2 1.3.3

README

sicks300_ros2

ROS2 License Build

Overview

This package implements a driver for the Sick S300 Safety laser scanners with an interface for ROS 2 using a lifecycle node. It provides an implementation for both, the old (1.40) and the new (2.10) protocol. Thus, the old Sick S300 Professional CMS as well as the new Sick S300 Expert are supported.

However, it does not cover the full functionality of the protocol:

  • It only handles distance measurements properly
  • It only handles no or only one configured measurement range field properly
  • It does not handle I/O-data or reflector data (though it reads the reflector marker field in the distance measurements)

Keywords: ROS2, laser, driver, sick s300, lifecycle

The sicks300_ros2 package has been tested under [ROS2] Jazzy on [Ubuntu] 24.04. but ported to ROS2. This is research code, expect that it changes often and any fitness for a particular purpose is disclaimed.

S300 Configuration

Here are a few notes about how to best configure the S300:

  • Configure the RS422 output to 500kBaud (otherwise, the scanner only provides a lower frequency)
  • Configure the scanner to Continuous Data Output
  • Send data via one telegram
  • Only configure distances, no I/O or reflector data (otherwise, the scanner only provides a lower frequency).
  • Configuration of the measurement ranges
    • For protocol 1.40: only configure one measurement range field with the full range (-45° to 225°) with all values.
    • For protocol 2.10: do not configure a measurement range field (otherwise, the scanner only provides a lower frequency).
  • If you want to only use certain measurement ranges, do this on the ROS side using e.g. the laser_filters package.

Installation

Building from Source

Dependencies

Building

To build from source, clone the latest version from this repository into your colcon workspace and compile the package using

cd colcon_workspace/src
git clone https://github.com/ajtudela/sicks300_ros2.git
cd ../
rosdep install -i --from-path src --rosdistro jazzy -y
colcon build

Usage

Add the user to the dialout group to access the USB port:

sudo usermod -a -G dialout $USER

Run the sicks300_ros2 node with:

ros2 run sicks300_ros2 sicks300_ros2

Optionally, you can launch this node with an angulor bound filter:

ros2 launch sicks300_ros2 scan_with_filter.launch.py

Nodes

sicks300_ros2

Driver for the Sick S300 Safety laser scanners.

Published Topics

  • scan ([sensor_msgs/LaserScan])

    The laserscan data.

  • scan/standby ([std_msgs/Bool])

    True if the scanner is in standby mode, false otherwise.

  • /diagnostics ([diagnostic_msgs/DiagnosticArray])

    Diagnostic about the laser scan.

Parameters

  • port (string, default: “/dev/ttyUSB0”)

    USB port of the scanner.

  • baud (int, default: 500000)

    Baudrate to communicate with the laser scanner.

File truncated at 100 lines see the full file

Repo symbol

sicks300_ros2 repository

sicks300_ros2

ROS Distro
rolling

Repository Summary

Checkout URI https://github.com/ajtudela/sicks300_ros2.git
VCS Type git
VCS Version main
Last Updated 2025-03-05
Dev Status MAINTAINED
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
sicks300_ros2 1.3.3

README

sicks300_ros2

ROS2 License Build

Overview

This package implements a driver for the Sick S300 Safety laser scanners with an interface for ROS 2 using a lifecycle node. It provides an implementation for both, the old (1.40) and the new (2.10) protocol. Thus, the old Sick S300 Professional CMS as well as the new Sick S300 Expert are supported.

However, it does not cover the full functionality of the protocol:

  • It only handles distance measurements properly
  • It only handles no or only one configured measurement range field properly
  • It does not handle I/O-data or reflector data (though it reads the reflector marker field in the distance measurements)

Keywords: ROS2, laser, driver, sick s300, lifecycle

The sicks300_ros2 package has been tested under [ROS2] Jazzy on [Ubuntu] 24.04. but ported to ROS2. This is research code, expect that it changes often and any fitness for a particular purpose is disclaimed.

S300 Configuration

Here are a few notes about how to best configure the S300:

  • Configure the RS422 output to 500kBaud (otherwise, the scanner only provides a lower frequency)
  • Configure the scanner to Continuous Data Output
  • Send data via one telegram
  • Only configure distances, no I/O or reflector data (otherwise, the scanner only provides a lower frequency).
  • Configuration of the measurement ranges
    • For protocol 1.40: only configure one measurement range field with the full range (-45° to 225°) with all values.
    • For protocol 2.10: do not configure a measurement range field (otherwise, the scanner only provides a lower frequency).
  • If you want to only use certain measurement ranges, do this on the ROS side using e.g. the laser_filters package.

Installation

Building from Source

Dependencies

Building

To build from source, clone the latest version from this repository into your colcon workspace and compile the package using

cd colcon_workspace/src
git clone https://github.com/ajtudela/sicks300_ros2.git
cd ../
rosdep install -i --from-path src --rosdistro jazzy -y
colcon build

Usage

Add the user to the dialout group to access the USB port:

sudo usermod -a -G dialout $USER

Run the sicks300_ros2 node with:

ros2 run sicks300_ros2 sicks300_ros2

Optionally, you can launch this node with an angulor bound filter:

ros2 launch sicks300_ros2 scan_with_filter.launch.py

Nodes

sicks300_ros2

Driver for the Sick S300 Safety laser scanners.

Published Topics

  • scan ([sensor_msgs/LaserScan])

    The laserscan data.

  • scan/standby ([std_msgs/Bool])

    True if the scanner is in standby mode, false otherwise.

  • /diagnostics ([diagnostic_msgs/DiagnosticArray])

    Diagnostic about the laser scan.

Parameters

  • port (string, default: “/dev/ttyUSB0”)

    USB port of the scanner.

  • baud (int, default: 500000)

    Baudrate to communicate with the laser scanner.

File truncated at 100 lines see the full file

No version for distro ardent showing humble. Known supported distros are highlighted in the buttons above.
Repo symbol

sicks300_ros2 repository

sicks300_ros2

ROS Distro
humble

Repository Summary

Checkout URI https://github.com/ajtudela/sicks300_ros2.git
VCS Type git
VCS Version humble
Last Updated 2025-02-13
Dev Status MAINTAINED
Released RELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
sicks300_ros2 1.3.2

README

sicks300_ros2

ROS2 License Build

Overview

This package implements a driver for the Sick S300 Safety laser scanners with an interface for ROS 2 using a lifecycle node. It provides an implementation for both, the old (1.40) and the new (2.10) protocol. Thus, the old Sick S300 Professional CMS as well as the new Sick S300 Expert are supported.

However, it does not cover the full functionality of the protocol:

  • It only handles distance measurements properly
  • It only handles no or only one configured measurement range field properly
  • It does not handle I/O-data or reflector data (though it reads the reflector marker field in the distance measurements)

Keywords: ROS2, laser, driver, sick s300, lifecycle

The sicks300_ros2 package has been tested under [ROS2] Humble on [Ubuntu] 22.04. but ported to ROS2. This is research code, expect that it changes often and any fitness for a particular purpose is disclaimed.

S300 Configuration

Here are a few notes about how to best configure the S300:

  • Configure the RS422 output to 500kBaud (otherwise, the scanner only provides a lower frequency)
  • Configure the scanner to Continuous Data Output
  • Send data via one telegram
  • Only configure distances, no I/O or reflector data (otherwise, the scanner only provides a lower frequency).
  • Configuration of the measurement ranges
    • For protocol 1.40: only configure one measurement range field with the full range (-45° to 225°) with all values.
    • For protocol 2.10: do not configure a measurement range field (otherwise, the scanner only provides a lower frequency).
  • If you want to only use certain measurement ranges, do this on the ROS side using e.g. the laser_filters package.

Installation

Building from Source

Dependencies

Building

To build from source, clone the latest version from this repository into your colcon workspace and compile the package using

cd colcon_workspace/src
git clone https://github.com/ajtudela/sicks300_ros2.git
cd ../
rosdep install -i --from-path src --rosdistro humble -y
colcon build

Usage

Add the user to the dialout group to access the USB port:

sudo usermod -a -G dialout $USER

Run the sicks300_ros2 node with:

ros2 run sicks300_ros2 sicks300_ros2

Optionally, you can launch this node with an angulor bound filter:

ros2 launch sicks300_ros2 scan_with_filter.launch.py

Nodes

sicks300_ros2

Driver for the Sick S300 Safety laser scanners.

Published Topics

  • scan ([sensor_msgs/LaserScan])

    The laserscan data.

  • scan/standby ([std_msgs/Bool])

    True if the scanner is in standby mode, false otherwise.

  • /diagnostics ([diagnostic_msgs/DiagnosticArray])

    Diagnostic about the laser scan.

Parameters

  • port (string, default: “/dev/ttyUSB0”)

    USB port of the scanner.

  • baud (int, default: 500000)

    Baudrate to communicate with the laser scanner.

File truncated at 100 lines see the full file

No version for distro bouncy showing humble. Known supported distros are highlighted in the buttons above.
Repo symbol

sicks300_ros2 repository

sicks300_ros2

ROS Distro
humble

Repository Summary

Checkout URI https://github.com/ajtudela/sicks300_ros2.git
VCS Type git
VCS Version humble
Last Updated 2025-02-13
Dev Status MAINTAINED
Released RELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
sicks300_ros2 1.3.2

README

sicks300_ros2

ROS2 License Build

Overview

This package implements a driver for the Sick S300 Safety laser scanners with an interface for ROS 2 using a lifecycle node. It provides an implementation for both, the old (1.40) and the new (2.10) protocol. Thus, the old Sick S300 Professional CMS as well as the new Sick S300 Expert are supported.

However, it does not cover the full functionality of the protocol:

  • It only handles distance measurements properly
  • It only handles no or only one configured measurement range field properly
  • It does not handle I/O-data or reflector data (though it reads the reflector marker field in the distance measurements)

Keywords: ROS2, laser, driver, sick s300, lifecycle

The sicks300_ros2 package has been tested under [ROS2] Humble on [Ubuntu] 22.04. but ported to ROS2. This is research code, expect that it changes often and any fitness for a particular purpose is disclaimed.

S300 Configuration

Here are a few notes about how to best configure the S300:

  • Configure the RS422 output to 500kBaud (otherwise, the scanner only provides a lower frequency)
  • Configure the scanner to Continuous Data Output
  • Send data via one telegram
  • Only configure distances, no I/O or reflector data (otherwise, the scanner only provides a lower frequency).
  • Configuration of the measurement ranges
    • For protocol 1.40: only configure one measurement range field with the full range (-45° to 225°) with all values.
    • For protocol 2.10: do not configure a measurement range field (otherwise, the scanner only provides a lower frequency).
  • If you want to only use certain measurement ranges, do this on the ROS side using e.g. the laser_filters package.

Installation

Building from Source

Dependencies

Building

To build from source, clone the latest version from this repository into your colcon workspace and compile the package using

cd colcon_workspace/src
git clone https://github.com/ajtudela/sicks300_ros2.git
cd ../
rosdep install -i --from-path src --rosdistro humble -y
colcon build

Usage

Add the user to the dialout group to access the USB port:

sudo usermod -a -G dialout $USER

Run the sicks300_ros2 node with:

ros2 run sicks300_ros2 sicks300_ros2

Optionally, you can launch this node with an angulor bound filter:

ros2 launch sicks300_ros2 scan_with_filter.launch.py

Nodes

sicks300_ros2

Driver for the Sick S300 Safety laser scanners.

Published Topics

  • scan ([sensor_msgs/LaserScan])

    The laserscan data.

  • scan/standby ([std_msgs/Bool])

    True if the scanner is in standby mode, false otherwise.

  • /diagnostics ([diagnostic_msgs/DiagnosticArray])

    Diagnostic about the laser scan.

Parameters

  • port (string, default: “/dev/ttyUSB0”)

    USB port of the scanner.

  • baud (int, default: 500000)

    Baudrate to communicate with the laser scanner.

File truncated at 100 lines see the full file

No version for distro crystal showing humble. Known supported distros are highlighted in the buttons above.
Repo symbol

sicks300_ros2 repository

sicks300_ros2

ROS Distro
humble

Repository Summary

Checkout URI https://github.com/ajtudela/sicks300_ros2.git
VCS Type git
VCS Version humble
Last Updated 2025-02-13
Dev Status MAINTAINED
Released RELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
sicks300_ros2 1.3.2

README

sicks300_ros2

ROS2 License Build

Overview

This package implements a driver for the Sick S300 Safety laser scanners with an interface for ROS 2 using a lifecycle node. It provides an implementation for both, the old (1.40) and the new (2.10) protocol. Thus, the old Sick S300 Professional CMS as well as the new Sick S300 Expert are supported.

However, it does not cover the full functionality of the protocol:

  • It only handles distance measurements properly
  • It only handles no or only one configured measurement range field properly
  • It does not handle I/O-data or reflector data (though it reads the reflector marker field in the distance measurements)

Keywords: ROS2, laser, driver, sick s300, lifecycle

The sicks300_ros2 package has been tested under [ROS2] Humble on [Ubuntu] 22.04. but ported to ROS2. This is research code, expect that it changes often and any fitness for a particular purpose is disclaimed.

S300 Configuration

Here are a few notes about how to best configure the S300:

  • Configure the RS422 output to 500kBaud (otherwise, the scanner only provides a lower frequency)
  • Configure the scanner to Continuous Data Output
  • Send data via one telegram
  • Only configure distances, no I/O or reflector data (otherwise, the scanner only provides a lower frequency).
  • Configuration of the measurement ranges
    • For protocol 1.40: only configure one measurement range field with the full range (-45° to 225°) with all values.
    • For protocol 2.10: do not configure a measurement range field (otherwise, the scanner only provides a lower frequency).
  • If you want to only use certain measurement ranges, do this on the ROS side using e.g. the laser_filters package.

Installation

Building from Source

Dependencies

Building

To build from source, clone the latest version from this repository into your colcon workspace and compile the package using

cd colcon_workspace/src
git clone https://github.com/ajtudela/sicks300_ros2.git
cd ../
rosdep install -i --from-path src --rosdistro humble -y
colcon build

Usage

Add the user to the dialout group to access the USB port:

sudo usermod -a -G dialout $USER

Run the sicks300_ros2 node with:

ros2 run sicks300_ros2 sicks300_ros2

Optionally, you can launch this node with an angulor bound filter:

ros2 launch sicks300_ros2 scan_with_filter.launch.py

Nodes

sicks300_ros2

Driver for the Sick S300 Safety laser scanners.

Published Topics

  • scan ([sensor_msgs/LaserScan])

    The laserscan data.

  • scan/standby ([std_msgs/Bool])

    True if the scanner is in standby mode, false otherwise.

  • /diagnostics ([diagnostic_msgs/DiagnosticArray])

    Diagnostic about the laser scan.

Parameters

  • port (string, default: “/dev/ttyUSB0”)

    USB port of the scanner.

  • baud (int, default: 500000)

    Baudrate to communicate with the laser scanner.

File truncated at 100 lines see the full file

No version for distro eloquent showing humble. Known supported distros are highlighted in the buttons above.
Repo symbol

sicks300_ros2 repository

sicks300_ros2

ROS Distro
humble

Repository Summary

Checkout URI https://github.com/ajtudela/sicks300_ros2.git
VCS Type git
VCS Version humble
Last Updated 2025-02-13
Dev Status MAINTAINED
Released RELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
sicks300_ros2 1.3.2

README

sicks300_ros2

ROS2 License Build

Overview

This package implements a driver for the Sick S300 Safety laser scanners with an interface for ROS 2 using a lifecycle node. It provides an implementation for both, the old (1.40) and the new (2.10) protocol. Thus, the old Sick S300 Professional CMS as well as the new Sick S300 Expert are supported.

However, it does not cover the full functionality of the protocol:

  • It only handles distance measurements properly
  • It only handles no or only one configured measurement range field properly
  • It does not handle I/O-data or reflector data (though it reads the reflector marker field in the distance measurements)

Keywords: ROS2, laser, driver, sick s300, lifecycle

The sicks300_ros2 package has been tested under [ROS2] Humble on [Ubuntu] 22.04. but ported to ROS2. This is research code, expect that it changes often and any fitness for a particular purpose is disclaimed.

S300 Configuration

Here are a few notes about how to best configure the S300:

  • Configure the RS422 output to 500kBaud (otherwise, the scanner only provides a lower frequency)
  • Configure the scanner to Continuous Data Output
  • Send data via one telegram
  • Only configure distances, no I/O or reflector data (otherwise, the scanner only provides a lower frequency).
  • Configuration of the measurement ranges
    • For protocol 1.40: only configure one measurement range field with the full range (-45° to 225°) with all values.
    • For protocol 2.10: do not configure a measurement range field (otherwise, the scanner only provides a lower frequency).
  • If you want to only use certain measurement ranges, do this on the ROS side using e.g. the laser_filters package.

Installation

Building from Source

Dependencies

Building

To build from source, clone the latest version from this repository into your colcon workspace and compile the package using

cd colcon_workspace/src
git clone https://github.com/ajtudela/sicks300_ros2.git
cd ../
rosdep install -i --from-path src --rosdistro humble -y
colcon build

Usage

Add the user to the dialout group to access the USB port:

sudo usermod -a -G dialout $USER

Run the sicks300_ros2 node with:

ros2 run sicks300_ros2 sicks300_ros2

Optionally, you can launch this node with an angulor bound filter:

ros2 launch sicks300_ros2 scan_with_filter.launch.py

Nodes

sicks300_ros2

Driver for the Sick S300 Safety laser scanners.

Published Topics

  • scan ([sensor_msgs/LaserScan])

    The laserscan data.

  • scan/standby ([std_msgs/Bool])

    True if the scanner is in standby mode, false otherwise.

  • /diagnostics ([diagnostic_msgs/DiagnosticArray])

    Diagnostic about the laser scan.

Parameters

  • port (string, default: “/dev/ttyUSB0”)

    USB port of the scanner.

  • baud (int, default: 500000)

    Baudrate to communicate with the laser scanner.

File truncated at 100 lines see the full file

No version for distro dashing showing humble. Known supported distros are highlighted in the buttons above.
Repo symbol

sicks300_ros2 repository

sicks300_ros2

ROS Distro
humble

Repository Summary

Checkout URI https://github.com/ajtudela/sicks300_ros2.git
VCS Type git
VCS Version humble
Last Updated 2025-02-13
Dev Status MAINTAINED
Released RELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
sicks300_ros2 1.3.2

README

sicks300_ros2

ROS2 License Build

Overview

This package implements a driver for the Sick S300 Safety laser scanners with an interface for ROS 2 using a lifecycle node. It provides an implementation for both, the old (1.40) and the new (2.10) protocol. Thus, the old Sick S300 Professional CMS as well as the new Sick S300 Expert are supported.

However, it does not cover the full functionality of the protocol:

  • It only handles distance measurements properly
  • It only handles no or only one configured measurement range field properly
  • It does not handle I/O-data or reflector data (though it reads the reflector marker field in the distance measurements)

Keywords: ROS2, laser, driver, sick s300, lifecycle

The sicks300_ros2 package has been tested under [ROS2] Humble on [Ubuntu] 22.04. but ported to ROS2. This is research code, expect that it changes often and any fitness for a particular purpose is disclaimed.

S300 Configuration

Here are a few notes about how to best configure the S300:

  • Configure the RS422 output to 500kBaud (otherwise, the scanner only provides a lower frequency)
  • Configure the scanner to Continuous Data Output
  • Send data via one telegram
  • Only configure distances, no I/O or reflector data (otherwise, the scanner only provides a lower frequency).
  • Configuration of the measurement ranges
    • For protocol 1.40: only configure one measurement range field with the full range (-45° to 225°) with all values.
    • For protocol 2.10: do not configure a measurement range field (otherwise, the scanner only provides a lower frequency).
  • If you want to only use certain measurement ranges, do this on the ROS side using e.g. the laser_filters package.

Installation

Building from Source

Dependencies

Building

To build from source, clone the latest version from this repository into your colcon workspace and compile the package using

cd colcon_workspace/src
git clone https://github.com/ajtudela/sicks300_ros2.git
cd ../
rosdep install -i --from-path src --rosdistro humble -y
colcon build

Usage

Add the user to the dialout group to access the USB port:

sudo usermod -a -G dialout $USER

Run the sicks300_ros2 node with:

ros2 run sicks300_ros2 sicks300_ros2

Optionally, you can launch this node with an angulor bound filter:

ros2 launch sicks300_ros2 scan_with_filter.launch.py

Nodes

sicks300_ros2

Driver for the Sick S300 Safety laser scanners.

Published Topics

  • scan ([sensor_msgs/LaserScan])

    The laserscan data.

  • scan/standby ([std_msgs/Bool])

    True if the scanner is in standby mode, false otherwise.

  • /diagnostics ([diagnostic_msgs/DiagnosticArray])

    Diagnostic about the laser scan.

Parameters

  • port (string, default: “/dev/ttyUSB0”)

    USB port of the scanner.

  • baud (int, default: 500000)

    Baudrate to communicate with the laser scanner.

File truncated at 100 lines see the full file

No version for distro galactic showing humble. Known supported distros are highlighted in the buttons above.
Repo symbol

sicks300_ros2 repository

sicks300_ros2

ROS Distro
humble

Repository Summary

Checkout URI https://github.com/ajtudela/sicks300_ros2.git
VCS Type git
VCS Version humble
Last Updated 2025-02-13
Dev Status MAINTAINED
Released RELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
sicks300_ros2 1.3.2

README

sicks300_ros2

ROS2 License Build

Overview

This package implements a driver for the Sick S300 Safety laser scanners with an interface for ROS 2 using a lifecycle node. It provides an implementation for both, the old (1.40) and the new (2.10) protocol. Thus, the old Sick S300 Professional CMS as well as the new Sick S300 Expert are supported.

However, it does not cover the full functionality of the protocol:

  • It only handles distance measurements properly
  • It only handles no or only one configured measurement range field properly
  • It does not handle I/O-data or reflector data (though it reads the reflector marker field in the distance measurements)

Keywords: ROS2, laser, driver, sick s300, lifecycle

The sicks300_ros2 package has been tested under [ROS2] Humble on [Ubuntu] 22.04. but ported to ROS2. This is research code, expect that it changes often and any fitness for a particular purpose is disclaimed.

S300 Configuration

Here are a few notes about how to best configure the S300:

  • Configure the RS422 output to 500kBaud (otherwise, the scanner only provides a lower frequency)
  • Configure the scanner to Continuous Data Output
  • Send data via one telegram
  • Only configure distances, no I/O or reflector data (otherwise, the scanner only provides a lower frequency).
  • Configuration of the measurement ranges
    • For protocol 1.40: only configure one measurement range field with the full range (-45° to 225°) with all values.
    • For protocol 2.10: do not configure a measurement range field (otherwise, the scanner only provides a lower frequency).
  • If you want to only use certain measurement ranges, do this on the ROS side using e.g. the laser_filters package.

Installation

Building from Source

Dependencies

Building

To build from source, clone the latest version from this repository into your colcon workspace and compile the package using

cd colcon_workspace/src
git clone https://github.com/ajtudela/sicks300_ros2.git
cd ../
rosdep install -i --from-path src --rosdistro humble -y
colcon build

Usage

Add the user to the dialout group to access the USB port:

sudo usermod -a -G dialout $USER

Run the sicks300_ros2 node with:

ros2 run sicks300_ros2 sicks300_ros2

Optionally, you can launch this node with an angulor bound filter:

ros2 launch sicks300_ros2 scan_with_filter.launch.py

Nodes

sicks300_ros2

Driver for the Sick S300 Safety laser scanners.

Published Topics

  • scan ([sensor_msgs/LaserScan])

    The laserscan data.

  • scan/standby ([std_msgs/Bool])

    True if the scanner is in standby mode, false otherwise.

  • /diagnostics ([diagnostic_msgs/DiagnosticArray])

    Diagnostic about the laser scan.

Parameters

  • port (string, default: “/dev/ttyUSB0”)

    USB port of the scanner.

  • baud (int, default: 500000)

    Baudrate to communicate with the laser scanner.

File truncated at 100 lines see the full file

No version for distro foxy showing humble. Known supported distros are highlighted in the buttons above.
Repo symbol

sicks300_ros2 repository

sicks300_ros2

ROS Distro
humble

Repository Summary

Checkout URI https://github.com/ajtudela/sicks300_ros2.git
VCS Type git
VCS Version humble
Last Updated 2025-02-13
Dev Status MAINTAINED
Released RELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
sicks300_ros2 1.3.2

README

sicks300_ros2

ROS2 License Build

Overview

This package implements a driver for the Sick S300 Safety laser scanners with an interface for ROS 2 using a lifecycle node. It provides an implementation for both, the old (1.40) and the new (2.10) protocol. Thus, the old Sick S300 Professional CMS as well as the new Sick S300 Expert are supported.

However, it does not cover the full functionality of the protocol:

  • It only handles distance measurements properly
  • It only handles no or only one configured measurement range field properly
  • It does not handle I/O-data or reflector data (though it reads the reflector marker field in the distance measurements)

Keywords: ROS2, laser, driver, sick s300, lifecycle

The sicks300_ros2 package has been tested under [ROS2] Humble on [Ubuntu] 22.04. but ported to ROS2. This is research code, expect that it changes often and any fitness for a particular purpose is disclaimed.

S300 Configuration

Here are a few notes about how to best configure the S300:

  • Configure the RS422 output to 500kBaud (otherwise, the scanner only provides a lower frequency)
  • Configure the scanner to Continuous Data Output
  • Send data via one telegram
  • Only configure distances, no I/O or reflector data (otherwise, the scanner only provides a lower frequency).
  • Configuration of the measurement ranges
    • For protocol 1.40: only configure one measurement range field with the full range (-45° to 225°) with all values.
    • For protocol 2.10: do not configure a measurement range field (otherwise, the scanner only provides a lower frequency).
  • If you want to only use certain measurement ranges, do this on the ROS side using e.g. the laser_filters package.

Installation

Building from Source

Dependencies

Building

To build from source, clone the latest version from this repository into your colcon workspace and compile the package using

cd colcon_workspace/src
git clone https://github.com/ajtudela/sicks300_ros2.git
cd ../
rosdep install -i --from-path src --rosdistro humble -y
colcon build

Usage

Add the user to the dialout group to access the USB port:

sudo usermod -a -G dialout $USER

Run the sicks300_ros2 node with:

ros2 run sicks300_ros2 sicks300_ros2

Optionally, you can launch this node with an angulor bound filter:

ros2 launch sicks300_ros2 scan_with_filter.launch.py

Nodes

sicks300_ros2

Driver for the Sick S300 Safety laser scanners.

Published Topics

  • scan ([sensor_msgs/LaserScan])

    The laserscan data.

  • scan/standby ([std_msgs/Bool])

    True if the scanner is in standby mode, false otherwise.

  • /diagnostics ([diagnostic_msgs/DiagnosticArray])

    Diagnostic about the laser scan.

Parameters

  • port (string, default: “/dev/ttyUSB0”)

    USB port of the scanner.

  • baud (int, default: 500000)

    Baudrate to communicate with the laser scanner.

File truncated at 100 lines see the full file

No version for distro iron showing humble. Known supported distros are highlighted in the buttons above.
Repo symbol

sicks300_ros2 repository

sicks300_ros2

ROS Distro
humble

Repository Summary

Checkout URI https://github.com/ajtudela/sicks300_ros2.git
VCS Type git
VCS Version humble
Last Updated 2025-02-13
Dev Status MAINTAINED
Released RELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
sicks300_ros2 1.3.2

README

sicks300_ros2

ROS2 License Build

Overview

This package implements a driver for the Sick S300 Safety laser scanners with an interface for ROS 2 using a lifecycle node. It provides an implementation for both, the old (1.40) and the new (2.10) protocol. Thus, the old Sick S300 Professional CMS as well as the new Sick S300 Expert are supported.

However, it does not cover the full functionality of the protocol:

  • It only handles distance measurements properly
  • It only handles no or only one configured measurement range field properly
  • It does not handle I/O-data or reflector data (though it reads the reflector marker field in the distance measurements)

Keywords: ROS2, laser, driver, sick s300, lifecycle

The sicks300_ros2 package has been tested under [ROS2] Humble on [Ubuntu] 22.04. but ported to ROS2. This is research code, expect that it changes often and any fitness for a particular purpose is disclaimed.

S300 Configuration

Here are a few notes about how to best configure the S300:

  • Configure the RS422 output to 500kBaud (otherwise, the scanner only provides a lower frequency)
  • Configure the scanner to Continuous Data Output
  • Send data via one telegram
  • Only configure distances, no I/O or reflector data (otherwise, the scanner only provides a lower frequency).
  • Configuration of the measurement ranges
    • For protocol 1.40: only configure one measurement range field with the full range (-45° to 225°) with all values.
    • For protocol 2.10: do not configure a measurement range field (otherwise, the scanner only provides a lower frequency).
  • If you want to only use certain measurement ranges, do this on the ROS side using e.g. the laser_filters package.

Installation

Building from Source

Dependencies

Building

To build from source, clone the latest version from this repository into your colcon workspace and compile the package using

cd colcon_workspace/src
git clone https://github.com/ajtudela/sicks300_ros2.git
cd ../
rosdep install -i --from-path src --rosdistro humble -y
colcon build

Usage

Add the user to the dialout group to access the USB port:

sudo usermod -a -G dialout $USER

Run the sicks300_ros2 node with:

ros2 run sicks300_ros2 sicks300_ros2

Optionally, you can launch this node with an angulor bound filter:

ros2 launch sicks300_ros2 scan_with_filter.launch.py

Nodes

sicks300_ros2

Driver for the Sick S300 Safety laser scanners.

Published Topics

  • scan ([sensor_msgs/LaserScan])

    The laserscan data.

  • scan/standby ([std_msgs/Bool])

    True if the scanner is in standby mode, false otherwise.

  • /diagnostics ([diagnostic_msgs/DiagnosticArray])

    Diagnostic about the laser scan.

Parameters

  • port (string, default: “/dev/ttyUSB0”)

    USB port of the scanner.

  • baud (int, default: 500000)

    Baudrate to communicate with the laser scanner.

File truncated at 100 lines see the full file

No version for distro lunar showing humble. Known supported distros are highlighted in the buttons above.
Repo symbol

sicks300_ros2 repository

sicks300_ros2

ROS Distro
humble

Repository Summary

Checkout URI https://github.com/ajtudela/sicks300_ros2.git
VCS Type git
VCS Version humble
Last Updated 2025-02-13
Dev Status MAINTAINED
Released RELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
sicks300_ros2 1.3.2

README

sicks300_ros2

ROS2 License Build

Overview

This package implements a driver for the Sick S300 Safety laser scanners with an interface for ROS 2 using a lifecycle node. It provides an implementation for both, the old (1.40) and the new (2.10) protocol. Thus, the old Sick S300 Professional CMS as well as the new Sick S300 Expert are supported.

However, it does not cover the full functionality of the protocol:

  • It only handles distance measurements properly
  • It only handles no or only one configured measurement range field properly
  • It does not handle I/O-data or reflector data (though it reads the reflector marker field in the distance measurements)

Keywords: ROS2, laser, driver, sick s300, lifecycle

The sicks300_ros2 package has been tested under [ROS2] Humble on [Ubuntu] 22.04. but ported to ROS2. This is research code, expect that it changes often and any fitness for a particular purpose is disclaimed.

S300 Configuration

Here are a few notes about how to best configure the S300:

  • Configure the RS422 output to 500kBaud (otherwise, the scanner only provides a lower frequency)
  • Configure the scanner to Continuous Data Output
  • Send data via one telegram
  • Only configure distances, no I/O or reflector data (otherwise, the scanner only provides a lower frequency).
  • Configuration of the measurement ranges
    • For protocol 1.40: only configure one measurement range field with the full range (-45° to 225°) with all values.
    • For protocol 2.10: do not configure a measurement range field (otherwise, the scanner only provides a lower frequency).
  • If you want to only use certain measurement ranges, do this on the ROS side using e.g. the laser_filters package.

Installation

Building from Source

Dependencies

Building

To build from source, clone the latest version from this repository into your colcon workspace and compile the package using

cd colcon_workspace/src
git clone https://github.com/ajtudela/sicks300_ros2.git
cd ../
rosdep install -i --from-path src --rosdistro humble -y
colcon build

Usage

Add the user to the dialout group to access the USB port:

sudo usermod -a -G dialout $USER

Run the sicks300_ros2 node with:

ros2 run sicks300_ros2 sicks300_ros2

Optionally, you can launch this node with an angulor bound filter:

ros2 launch sicks300_ros2 scan_with_filter.launch.py

Nodes

sicks300_ros2

Driver for the Sick S300 Safety laser scanners.

Published Topics

  • scan ([sensor_msgs/LaserScan])

    The laserscan data.

  • scan/standby ([std_msgs/Bool])

    True if the scanner is in standby mode, false otherwise.

  • /diagnostics ([diagnostic_msgs/DiagnosticArray])

    Diagnostic about the laser scan.

Parameters

  • port (string, default: “/dev/ttyUSB0”)

    USB port of the scanner.

  • baud (int, default: 500000)

    Baudrate to communicate with the laser scanner.

File truncated at 100 lines see the full file

No version for distro jade showing humble. Known supported distros are highlighted in the buttons above.
Repo symbol

sicks300_ros2 repository

sicks300_ros2

ROS Distro
humble

Repository Summary

Checkout URI https://github.com/ajtudela/sicks300_ros2.git
VCS Type git
VCS Version humble
Last Updated 2025-02-13
Dev Status MAINTAINED
Released RELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
sicks300_ros2 1.3.2

README

sicks300_ros2

ROS2 License Build

Overview

This package implements a driver for the Sick S300 Safety laser scanners with an interface for ROS 2 using a lifecycle node. It provides an implementation for both, the old (1.40) and the new (2.10) protocol. Thus, the old Sick S300 Professional CMS as well as the new Sick S300 Expert are supported.

However, it does not cover the full functionality of the protocol:

  • It only handles distance measurements properly
  • It only handles no or only one configured measurement range field properly
  • It does not handle I/O-data or reflector data (though it reads the reflector marker field in the distance measurements)

Keywords: ROS2, laser, driver, sick s300, lifecycle

The sicks300_ros2 package has been tested under [ROS2] Humble on [Ubuntu] 22.04. but ported to ROS2. This is research code, expect that it changes often and any fitness for a particular purpose is disclaimed.

S300 Configuration

Here are a few notes about how to best configure the S300:

  • Configure the RS422 output to 500kBaud (otherwise, the scanner only provides a lower frequency)
  • Configure the scanner to Continuous Data Output
  • Send data via one telegram
  • Only configure distances, no I/O or reflector data (otherwise, the scanner only provides a lower frequency).
  • Configuration of the measurement ranges
    • For protocol 1.40: only configure one measurement range field with the full range (-45° to 225°) with all values.
    • For protocol 2.10: do not configure a measurement range field (otherwise, the scanner only provides a lower frequency).
  • If you want to only use certain measurement ranges, do this on the ROS side using e.g. the laser_filters package.

Installation

Building from Source

Dependencies

Building

To build from source, clone the latest version from this repository into your colcon workspace and compile the package using

cd colcon_workspace/src
git clone https://github.com/ajtudela/sicks300_ros2.git
cd ../
rosdep install -i --from-path src --rosdistro humble -y
colcon build

Usage

Add the user to the dialout group to access the USB port:

sudo usermod -a -G dialout $USER

Run the sicks300_ros2 node with:

ros2 run sicks300_ros2 sicks300_ros2

Optionally, you can launch this node with an angulor bound filter:

ros2 launch sicks300_ros2 scan_with_filter.launch.py

Nodes

sicks300_ros2

Driver for the Sick S300 Safety laser scanners.

Published Topics

  • scan ([sensor_msgs/LaserScan])

    The laserscan data.

  • scan/standby ([std_msgs/Bool])

    True if the scanner is in standby mode, false otherwise.

  • /diagnostics ([diagnostic_msgs/DiagnosticArray])

    Diagnostic about the laser scan.

Parameters

  • port (string, default: “/dev/ttyUSB0”)

    USB port of the scanner.

  • baud (int, default: 500000)

    Baudrate to communicate with the laser scanner.

File truncated at 100 lines see the full file

No version for distro indigo showing humble. Known supported distros are highlighted in the buttons above.
Repo symbol

sicks300_ros2 repository

sicks300_ros2

ROS Distro
humble

Repository Summary

Checkout URI https://github.com/ajtudela/sicks300_ros2.git
VCS Type git
VCS Version humble
Last Updated 2025-02-13
Dev Status MAINTAINED
Released RELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
sicks300_ros2 1.3.2

README

sicks300_ros2

ROS2 License Build

Overview

This package implements a driver for the Sick S300 Safety laser scanners with an interface for ROS 2 using a lifecycle node. It provides an implementation for both, the old (1.40) and the new (2.10) protocol. Thus, the old Sick S300 Professional CMS as well as the new Sick S300 Expert are supported.

However, it does not cover the full functionality of the protocol:

  • It only handles distance measurements properly
  • It only handles no or only one configured measurement range field properly
  • It does not handle I/O-data or reflector data (though it reads the reflector marker field in the distance measurements)

Keywords: ROS2, laser, driver, sick s300, lifecycle

The sicks300_ros2 package has been tested under [ROS2] Humble on [Ubuntu] 22.04. but ported to ROS2. This is research code, expect that it changes often and any fitness for a particular purpose is disclaimed.

S300 Configuration

Here are a few notes about how to best configure the S300:

  • Configure the RS422 output to 500kBaud (otherwise, the scanner only provides a lower frequency)
  • Configure the scanner to Continuous Data Output
  • Send data via one telegram
  • Only configure distances, no I/O or reflector data (otherwise, the scanner only provides a lower frequency).
  • Configuration of the measurement ranges
    • For protocol 1.40: only configure one measurement range field with the full range (-45° to 225°) with all values.
    • For protocol 2.10: do not configure a measurement range field (otherwise, the scanner only provides a lower frequency).
  • If you want to only use certain measurement ranges, do this on the ROS side using e.g. the laser_filters package.

Installation

Building from Source

Dependencies

Building

To build from source, clone the latest version from this repository into your colcon workspace and compile the package using

cd colcon_workspace/src
git clone https://github.com/ajtudela/sicks300_ros2.git
cd ../
rosdep install -i --from-path src --rosdistro humble -y
colcon build

Usage

Add the user to the dialout group to access the USB port:

sudo usermod -a -G dialout $USER

Run the sicks300_ros2 node with:

ros2 run sicks300_ros2 sicks300_ros2

Optionally, you can launch this node with an angulor bound filter:

ros2 launch sicks300_ros2 scan_with_filter.launch.py

Nodes

sicks300_ros2

Driver for the Sick S300 Safety laser scanners.

Published Topics

  • scan ([sensor_msgs/LaserScan])

    The laserscan data.

  • scan/standby ([std_msgs/Bool])

    True if the scanner is in standby mode, false otherwise.

  • /diagnostics ([diagnostic_msgs/DiagnosticArray])

    Diagnostic about the laser scan.

Parameters

  • port (string, default: “/dev/ttyUSB0”)

    USB port of the scanner.

  • baud (int, default: 500000)

    Baudrate to communicate with the laser scanner.

File truncated at 100 lines see the full file

No version for distro hydro showing humble. Known supported distros are highlighted in the buttons above.
Repo symbol

sicks300_ros2 repository

sicks300_ros2

ROS Distro
humble

Repository Summary

Checkout URI https://github.com/ajtudela/sicks300_ros2.git
VCS Type git
VCS Version humble
Last Updated 2025-02-13
Dev Status MAINTAINED
Released RELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
sicks300_ros2 1.3.2

README

sicks300_ros2

ROS2 License Build

Overview

This package implements a driver for the Sick S300 Safety laser scanners with an interface for ROS 2 using a lifecycle node. It provides an implementation for both, the old (1.40) and the new (2.10) protocol. Thus, the old Sick S300 Professional CMS as well as the new Sick S300 Expert are supported.

However, it does not cover the full functionality of the protocol:

  • It only handles distance measurements properly
  • It only handles no or only one configured measurement range field properly
  • It does not handle I/O-data or reflector data (though it reads the reflector marker field in the distance measurements)

Keywords: ROS2, laser, driver, sick s300, lifecycle

The sicks300_ros2 package has been tested under [ROS2] Humble on [Ubuntu] 22.04. but ported to ROS2. This is research code, expect that it changes often and any fitness for a particular purpose is disclaimed.

S300 Configuration

Here are a few notes about how to best configure the S300:

  • Configure the RS422 output to 500kBaud (otherwise, the scanner only provides a lower frequency)
  • Configure the scanner to Continuous Data Output
  • Send data via one telegram
  • Only configure distances, no I/O or reflector data (otherwise, the scanner only provides a lower frequency).
  • Configuration of the measurement ranges
    • For protocol 1.40: only configure one measurement range field with the full range (-45° to 225°) with all values.
    • For protocol 2.10: do not configure a measurement range field (otherwise, the scanner only provides a lower frequency).
  • If you want to only use certain measurement ranges, do this on the ROS side using e.g. the laser_filters package.

Installation

Building from Source

Dependencies

Building

To build from source, clone the latest version from this repository into your colcon workspace and compile the package using

cd colcon_workspace/src
git clone https://github.com/ajtudela/sicks300_ros2.git
cd ../
rosdep install -i --from-path src --rosdistro humble -y
colcon build

Usage

Add the user to the dialout group to access the USB port:

sudo usermod -a -G dialout $USER

Run the sicks300_ros2 node with:

ros2 run sicks300_ros2 sicks300_ros2

Optionally, you can launch this node with an angulor bound filter:

ros2 launch sicks300_ros2 scan_with_filter.launch.py

Nodes

sicks300_ros2

Driver for the Sick S300 Safety laser scanners.

Published Topics

  • scan ([sensor_msgs/LaserScan])

    The laserscan data.

  • scan/standby ([std_msgs/Bool])

    True if the scanner is in standby mode, false otherwise.

  • /diagnostics ([diagnostic_msgs/DiagnosticArray])

    Diagnostic about the laser scan.

Parameters

  • port (string, default: “/dev/ttyUSB0”)

    USB port of the scanner.

  • baud (int, default: 500000)

    Baudrate to communicate with the laser scanner.

File truncated at 100 lines see the full file

No version for distro kinetic showing humble. Known supported distros are highlighted in the buttons above.
Repo symbol

sicks300_ros2 repository

sicks300_ros2

ROS Distro
humble

Repository Summary

Checkout URI https://github.com/ajtudela/sicks300_ros2.git
VCS Type git
VCS Version humble
Last Updated 2025-02-13
Dev Status MAINTAINED
Released RELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
sicks300_ros2 1.3.2

README

sicks300_ros2

ROS2 License Build

Overview

This package implements a driver for the Sick S300 Safety laser scanners with an interface for ROS 2 using a lifecycle node. It provides an implementation for both, the old (1.40) and the new (2.10) protocol. Thus, the old Sick S300 Professional CMS as well as the new Sick S300 Expert are supported.

However, it does not cover the full functionality of the protocol:

  • It only handles distance measurements properly
  • It only handles no or only one configured measurement range field properly
  • It does not handle I/O-data or reflector data (though it reads the reflector marker field in the distance measurements)

Keywords: ROS2, laser, driver, sick s300, lifecycle

The sicks300_ros2 package has been tested under [ROS2] Humble on [Ubuntu] 22.04. but ported to ROS2. This is research code, expect that it changes often and any fitness for a particular purpose is disclaimed.

S300 Configuration

Here are a few notes about how to best configure the S300:

  • Configure the RS422 output to 500kBaud (otherwise, the scanner only provides a lower frequency)
  • Configure the scanner to Continuous Data Output
  • Send data via one telegram
  • Only configure distances, no I/O or reflector data (otherwise, the scanner only provides a lower frequency).
  • Configuration of the measurement ranges
    • For protocol 1.40: only configure one measurement range field with the full range (-45° to 225°) with all values.
    • For protocol 2.10: do not configure a measurement range field (otherwise, the scanner only provides a lower frequency).
  • If you want to only use certain measurement ranges, do this on the ROS side using e.g. the laser_filters package.

Installation

Building from Source

Dependencies

Building

To build from source, clone the latest version from this repository into your colcon workspace and compile the package using

cd colcon_workspace/src
git clone https://github.com/ajtudela/sicks300_ros2.git
cd ../
rosdep install -i --from-path src --rosdistro humble -y
colcon build

Usage

Add the user to the dialout group to access the USB port:

sudo usermod -a -G dialout $USER

Run the sicks300_ros2 node with:

ros2 run sicks300_ros2 sicks300_ros2

Optionally, you can launch this node with an angulor bound filter:

ros2 launch sicks300_ros2 scan_with_filter.launch.py

Nodes

sicks300_ros2

Driver for the Sick S300 Safety laser scanners.

Published Topics

  • scan ([sensor_msgs/LaserScan])

    The laserscan data.

  • scan/standby ([std_msgs/Bool])

    True if the scanner is in standby mode, false otherwise.

  • /diagnostics ([diagnostic_msgs/DiagnosticArray])

    Diagnostic about the laser scan.

Parameters

  • port (string, default: “/dev/ttyUSB0”)

    USB port of the scanner.

  • baud (int, default: 500000)

    Baudrate to communicate with the laser scanner.

File truncated at 100 lines see the full file

No version for distro melodic showing humble. Known supported distros are highlighted in the buttons above.
Repo symbol

sicks300_ros2 repository

sicks300_ros2

ROS Distro
humble

Repository Summary

Checkout URI https://github.com/ajtudela/sicks300_ros2.git
VCS Type git
VCS Version humble
Last Updated 2025-02-13
Dev Status MAINTAINED
Released RELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
sicks300_ros2 1.3.2

README

sicks300_ros2

ROS2 License Build

Overview

This package implements a driver for the Sick S300 Safety laser scanners with an interface for ROS 2 using a lifecycle node. It provides an implementation for both, the old (1.40) and the new (2.10) protocol. Thus, the old Sick S300 Professional CMS as well as the new Sick S300 Expert are supported.

However, it does not cover the full functionality of the protocol:

  • It only handles distance measurements properly
  • It only handles no or only one configured measurement range field properly
  • It does not handle I/O-data or reflector data (though it reads the reflector marker field in the distance measurements)

Keywords: ROS2, laser, driver, sick s300, lifecycle

The sicks300_ros2 package has been tested under [ROS2] Humble on [Ubuntu] 22.04. but ported to ROS2. This is research code, expect that it changes often and any fitness for a particular purpose is disclaimed.

S300 Configuration

Here are a few notes about how to best configure the S300:

  • Configure the RS422 output to 500kBaud (otherwise, the scanner only provides a lower frequency)
  • Configure the scanner to Continuous Data Output
  • Send data via one telegram
  • Only configure distances, no I/O or reflector data (otherwise, the scanner only provides a lower frequency).
  • Configuration of the measurement ranges
    • For protocol 1.40: only configure one measurement range field with the full range (-45° to 225°) with all values.
    • For protocol 2.10: do not configure a measurement range field (otherwise, the scanner only provides a lower frequency).
  • If you want to only use certain measurement ranges, do this on the ROS side using e.g. the laser_filters package.

Installation

Building from Source

Dependencies

Building

To build from source, clone the latest version from this repository into your colcon workspace and compile the package using

cd colcon_workspace/src
git clone https://github.com/ajtudela/sicks300_ros2.git
cd ../
rosdep install -i --from-path src --rosdistro humble -y
colcon build

Usage

Add the user to the dialout group to access the USB port:

sudo usermod -a -G dialout $USER

Run the sicks300_ros2 node with:

ros2 run sicks300_ros2 sicks300_ros2

Optionally, you can launch this node with an angulor bound filter:

ros2 launch sicks300_ros2 scan_with_filter.launch.py

Nodes

sicks300_ros2

Driver for the Sick S300 Safety laser scanners.

Published Topics

  • scan ([sensor_msgs/LaserScan])

    The laserscan data.

  • scan/standby ([std_msgs/Bool])

    True if the scanner is in standby mode, false otherwise.

  • /diagnostics ([diagnostic_msgs/DiagnosticArray])

    Diagnostic about the laser scan.

Parameters

  • port (string, default: “/dev/ttyUSB0”)

    USB port of the scanner.

  • baud (int, default: 500000)

    Baudrate to communicate with the laser scanner.

File truncated at 100 lines see the full file

No version for distro noetic showing humble. Known supported distros are highlighted in the buttons above.
Repo symbol

sicks300_ros2 repository

sicks300_ros2

ROS Distro
humble

Repository Summary

Checkout URI https://github.com/ajtudela/sicks300_ros2.git
VCS Type git
VCS Version humble
Last Updated 2025-02-13
Dev Status MAINTAINED
Released RELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
sicks300_ros2 1.3.2

README

sicks300_ros2

ROS2 License Build

Overview

This package implements a driver for the Sick S300 Safety laser scanners with an interface for ROS 2 using a lifecycle node. It provides an implementation for both, the old (1.40) and the new (2.10) protocol. Thus, the old Sick S300 Professional CMS as well as the new Sick S300 Expert are supported.

However, it does not cover the full functionality of the protocol:

  • It only handles distance measurements properly
  • It only handles no or only one configured measurement range field properly
  • It does not handle I/O-data or reflector data (though it reads the reflector marker field in the distance measurements)

Keywords: ROS2, laser, driver, sick s300, lifecycle

The sicks300_ros2 package has been tested under [ROS2] Humble on [Ubuntu] 22.04. but ported to ROS2. This is research code, expect that it changes often and any fitness for a particular purpose is disclaimed.

S300 Configuration

Here are a few notes about how to best configure the S300:

  • Configure the RS422 output to 500kBaud (otherwise, the scanner only provides a lower frequency)
  • Configure the scanner to Continuous Data Output
  • Send data via one telegram
  • Only configure distances, no I/O or reflector data (otherwise, the scanner only provides a lower frequency).
  • Configuration of the measurement ranges
    • For protocol 1.40: only configure one measurement range field with the full range (-45° to 225°) with all values.
    • For protocol 2.10: do not configure a measurement range field (otherwise, the scanner only provides a lower frequency).
  • If you want to only use certain measurement ranges, do this on the ROS side using e.g. the laser_filters package.

Installation

Building from Source

Dependencies

Building

To build from source, clone the latest version from this repository into your colcon workspace and compile the package using

cd colcon_workspace/src
git clone https://github.com/ajtudela/sicks300_ros2.git
cd ../
rosdep install -i --from-path src --rosdistro humble -y
colcon build

Usage

Add the user to the dialout group to access the USB port:

sudo usermod -a -G dialout $USER

Run the sicks300_ros2 node with:

ros2 run sicks300_ros2 sicks300_ros2

Optionally, you can launch this node with an angulor bound filter:

ros2 launch sicks300_ros2 scan_with_filter.launch.py

Nodes

sicks300_ros2

Driver for the Sick S300 Safety laser scanners.

Published Topics

  • scan ([sensor_msgs/LaserScan])

    The laserscan data.

  • scan/standby ([std_msgs/Bool])

    True if the scanner is in standby mode, false otherwise.

  • /diagnostics ([diagnostic_msgs/DiagnosticArray])

    Diagnostic about the laser scan.

Parameters

  • port (string, default: “/dev/ttyUSB0”)

    USB port of the scanner.

  • baud (int, default: 500000)

    Baudrate to communicate with the laser scanner.

File truncated at 100 lines see the full file