Package Summary

Tags No category tags.
Version 2.3.1
License BSD 3-Clause
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://gitlab.com/toposens/public/ros-packages.git
VCS Type git
VCS Version master
Last Updated 2021-11-10
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

Operational sync of multiple TS sensors.

Additional Links

Maintainers

  • Dennis Maier
  • Baris Yazici

Authors

  • Sebastian Dengler
  • Christopher Lang

toposens_sync

This package enables the use of multiple synchronized TS3 sensors alternately. It sets up a SensorManager on top of a group of Sensor objects and triggers them alternately.

It was developed and tested for ROS Melodic on Ubuntu 18.04 (Bionic) and ROS Kinetic on Ubuntu 16.04 (Xenial) using Toposens TS3 ultrasonic sensor.

Usage

Build

Find information on how to build the package in the README of the toposens metapackage.

Enable Serial Port Permissions

Find information on how to setup the serial port permissions in the README of the toposens_driver package.

Setup Launch File

Create a launch file with the following content (this is an example):

<launch>
  <arg name="ports" default="[/dev/ttyUSB0, /dev/ttyUSB1]"/>
  <arg name="frame_ids" default="[ts3_1, ts3_2]"/>

  <node pkg="toposens_sync" type="toposens_sync_node"
        name="ts_sync_node" output="screen">
    <rosparam param="ports" subst_value="true">$(arg ports)</rosparam>
    <rosparam param="frames" subst_value="true">$(arg frame_ids)</rosparam>
  </node>

  <node pkg="tf" type="static_transform_publisher" name="toposens_link_1"
        args="0 -0.10 0 0 0 0 1 toposens ts3_1 100" />
  <node pkg="tf" type="static_transform_publisher" name="toposens_link_2"
        args="0 0.10 0 0 0 0 1 toposens ts3_2 100" />

  <node pkg="toposens_pointcloud" type="toposens_pointcloud_node"
        name="ts_cloud_node" output="screen">
    <param name="target_frame" value="toposens" />
  </node>

  <node pkg="rviz" type="rviz" name="grid_visualization" output="screen"
        args="-d $(find toposens_pointcloud)/rviz/toposens_pointcloud.rviz" />
</launch>

The file can be broken down into the following parts:

<arg name="ports" default="[/dev/ttyUSB0, /dev/ttyUSB1]"/>
<arg name="frame_ids" default="[ts3_1, ts3_2]"/>

The terminal IDs ("ports") and frame IDs ("frame_ids") are defined as arrays. Both these arrays need to have the same size. Element [i] of "ports" is mapped to element [i] of "frame_ids".

<node pkg="toposens_sync" type="toposens_sync_node"
      name="ts_sync_node" output="screen">
  <rosparam param="ports" subst_value="true">$(arg ports)</rosparam>
  <rosparam param="frames" subst_value="true">$(arg frame_ids)</rosparam>
</node>

The ts_sync_node must be given the arrays of the terminal IDs and frame IDs as launch arguments. The ts_sync_node handles the alternating triggering of the sensors as well as the polling of their data stream.

<node pkg="tf" type="static_transform_publisher" name="toposens_link_1"
      args="0 -0.10 0 0 0 0 1 toposens ts3_1 100" />
<node pkg="tf" type="static_transform_publisher" name="toposens_link_2"
      args="0 0.10 0 0 0 0 1 toposens ts3_2 100" />

In order to set the transformation from the individual sensor frames (here: ts_1, ts_2) to the desired reference frame (here: toposens), static transform publishers are used. Fill in the correct tf parameters for your setup.

<node pkg="toposens_pointcloud" type="toposens_pointcloud_node"
      name="ts_cloud_node" output="screen">
  <param name="target_frame" value="toposens" />
</node>

The data that is accumulated from the two sensors can be translated into messages of type sensor_msgs/PointCloud2 via the ts_cloud_node. The name of the frame in which the pointcloud is published is given to the node as a launch argument.

<node pkg="rviz" type="rviz" name="grid_visualization" output="screen"
      args="-d $(find toposens_pointcloud)/rviz/toposens_pointcloud.rviz" />

In order to visualize the pointcloud, RViz is launched.

Run

In order to visualize the data as sensor_msgs/PointCloud2 messages, launch the ts_sync_node as well as the ts_cloud_node with the created launch file.

roslaunch toposens_sync toposens_sync.launch

The firmware parameters for each TS3 sensor can be adjusted independently through rqt_reconfigure (see README in toposens_driver package).

CHANGELOG

Changelog for package toposens_sync

2.3.1 (2021-10-26)

  • Minor clean-up and bug fixes
  • Contributors: Baris Yazici, Dennis Maier

2.3.0 (2021-09-23)

  • Introduce toposens_echo_driver package
  • Update maintainers
  • Minor bug fixes
  • Contributors: Baris Yazici, Dennis Maier

2.2.1 (2021-05-20)

  • Update Maintainer
  • Minor Update
  • Contributors: Dennis Maier

2.2.0 (2021-02-11)

  • Optimize launch file structure
  • Add .clang-format file and auto-format files (including XML-style files)
  • Contributors: Dennis Maier, Tobias Roth

2.1.1 (2020-11-24)

2.1.0 (2020-11-03)

  • Introduce bringup package and general updates.
  • Prepare for Noetic release
  • Run separate CI stages for melodic+noetic. Bump up CMake version to 3.0.2.
  • Contributors: Tobias Roth

2.0.4 (2020-10-15)

  • Changed package maintainer
  • Fix catkin_lint issues
  • Contributors: Tobias Roth

2.0.3 (2020-08-12)

2.0.2 (2020-02-28)

  • Changed package maintainer
  • Contributors: Sebastian Dengler

2.0.1 (2020-01-23)

2.0.0 (2020-01-14)

1.3.0 (2019-11-18)

1.2.3 (2019-09-03)

1.2.2 (2019-08-02)

1.2.1 (2019-07-12)

1.2.0 (2019-07-05)

  • Added rules to install launch files
  • Contributors: Christopher Lang, Sebastian Dengler

1.1.0 (2019-06-21)

  • Added sync integration for multiple device operation
  • Contributors: Christopher Lang, Sebastian Dengler

1.0.0 (2019-05-14)

0.9.6 (2019-05-13)

0.9.5 (2019-05-03)

0.9.3 (2019-04-26)

0.9.2 (2019-04-17)

0.9.0 (2019-04-09)

0.8.1 (2019-03-29)

0.8.0 (2019-03-08)

0.7.0 (2019-02-27)

0.5.0 (2019-02-07)

Wiki Tutorials

See ROS Wiki Tutorials for more details.

Source Tutorials

Not currently indexed.

Dependant Packages

Launch files

  • launch/toposens_sync.launch
    • This file forms the core of a launch file for a multi-TS3-system. See http://wiki.ros.org/toposens/Tutorials/Using%20Multiple%20TS3%20Sensors on how to complete it.
      • ports [default: [/dev/ttyUSB0, /dev/ttyUSB1]]
      • frame_ids [default: [ts3_1, ts3_2]]

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged toposens_sync at answers.ros.org

Package Summary

Tags No category tags.
Version 2.3.1
License BSD 3-Clause
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://gitlab.com/toposens/public/ros-packages.git
VCS Type git
VCS Version master
Last Updated 2021-11-10
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

Operational sync of multiple TS sensors.

Additional Links

Maintainers

  • Dennis Maier
  • Baris Yazici

Authors

  • Sebastian Dengler
  • Christopher Lang

toposens_sync

This package enables the use of multiple synchronized TS3 sensors alternately. It sets up a SensorManager on top of a group of Sensor objects and triggers them alternately.

It was developed and tested for ROS Melodic on Ubuntu 18.04 (Bionic) and ROS Kinetic on Ubuntu 16.04 (Xenial) using Toposens TS3 ultrasonic sensor.

Usage

Build

Find information on how to build the package in the README of the toposens metapackage.

Enable Serial Port Permissions

Find information on how to setup the serial port permissions in the README of the toposens_driver package.

Setup Launch File

Create a launch file with the following content (this is an example):

<launch>
  <arg name="ports" default="[/dev/ttyUSB0, /dev/ttyUSB1]"/>
  <arg name="frame_ids" default="[ts3_1, ts3_2]"/>

  <node pkg="toposens_sync" type="toposens_sync_node"
        name="ts_sync_node" output="screen">
    <rosparam param="ports" subst_value="true">$(arg ports)</rosparam>
    <rosparam param="frames" subst_value="true">$(arg frame_ids)</rosparam>
  </node>

  <node pkg="tf" type="static_transform_publisher" name="toposens_link_1"
        args="0 -0.10 0 0 0 0 1 toposens ts3_1 100" />
  <node pkg="tf" type="static_transform_publisher" name="toposens_link_2"
        args="0 0.10 0 0 0 0 1 toposens ts3_2 100" />

  <node pkg="toposens_pointcloud" type="toposens_pointcloud_node"
        name="ts_cloud_node" output="screen">
    <param name="target_frame" value="toposens" />
  </node>

  <node pkg="rviz" type="rviz" name="grid_visualization" output="screen"
        args="-d $(find toposens_pointcloud)/rviz/toposens_pointcloud.rviz" />
</launch>

The file can be broken down into the following parts:

<arg name="ports" default="[/dev/ttyUSB0, /dev/ttyUSB1]"/>
<arg name="frame_ids" default="[ts3_1, ts3_2]"/>

The terminal IDs ("ports") and frame IDs ("frame_ids") are defined as arrays. Both these arrays need to have the same size. Element [i] of "ports" is mapped to element [i] of "frame_ids".

<node pkg="toposens_sync" type="toposens_sync_node"
      name="ts_sync_node" output="screen">
  <rosparam param="ports" subst_value="true">$(arg ports)</rosparam>
  <rosparam param="frames" subst_value="true">$(arg frame_ids)</rosparam>
</node>

The ts_sync_node must be given the arrays of the terminal IDs and frame IDs as launch arguments. The ts_sync_node handles the alternating triggering of the sensors as well as the polling of their data stream.

<node pkg="tf" type="static_transform_publisher" name="toposens_link_1"
      args="0 -0.10 0 0 0 0 1 toposens ts3_1 100" />
<node pkg="tf" type="static_transform_publisher" name="toposens_link_2"
      args="0 0.10 0 0 0 0 1 toposens ts3_2 100" />

In order to set the transformation from the individual sensor frames (here: ts_1, ts_2) to the desired reference frame (here: toposens), static transform publishers are used. Fill in the correct tf parameters for your setup.

<node pkg="toposens_pointcloud" type="toposens_pointcloud_node"
      name="ts_cloud_node" output="screen">
  <param name="target_frame" value="toposens" />
</node>

The data that is accumulated from the two sensors can be translated into messages of type sensor_msgs/PointCloud2 via the ts_cloud_node. The name of the frame in which the pointcloud is published is given to the node as a launch argument.

<node pkg="rviz" type="rviz" name="grid_visualization" output="screen"
      args="-d $(find toposens_pointcloud)/rviz/toposens_pointcloud.rviz" />

In order to visualize the pointcloud, RViz is launched.

Run

In order to visualize the data as sensor_msgs/PointCloud2 messages, launch the ts_sync_node as well as the ts_cloud_node with the created launch file.

roslaunch toposens_sync toposens_sync.launch

The firmware parameters for each TS3 sensor can be adjusted independently through rqt_reconfigure (see README in toposens_driver package).

CHANGELOG

Changelog for package toposens_sync

2.3.1 (2021-10-26)

  • Minor clean-up and bug fixes
  • Contributors: Baris Yazici, Dennis Maier

2.3.0 (2021-09-23)

  • Introduce toposens_echo_driver package
  • Update maintainers
  • Minor bug fixes
  • Contributors: Baris Yazici, Dennis Maier

2.2.1 (2021-05-20)

  • Update Maintainer
  • Minor Update
  • Contributors: Dennis Maier

2.2.0 (2021-02-11)

  • Optimize launch file structure
  • Add .clang-format file and auto-format files (including XML-style files)
  • Contributors: Dennis Maier, Tobias Roth

2.1.1 (2020-11-24)

2.1.0 (2020-11-03)

  • Introduce bringup package and general updates.
  • Prepare for Noetic release
  • Run separate CI stages for melodic+noetic. Bump up CMake version to 3.0.2.
  • Contributors: Tobias Roth

2.0.4 (2020-10-15)

  • Changed package maintainer
  • Fix catkin_lint issues
  • Contributors: Tobias Roth

2.0.3 (2020-08-12)

2.0.2 (2020-02-28)

  • Changed package maintainer
  • Contributors: Sebastian Dengler

2.0.1 (2020-01-23)

2.0.0 (2020-01-14)

1.3.0 (2019-11-18)

1.2.3 (2019-09-03)

1.2.2 (2019-08-02)

1.2.1 (2019-07-12)

1.2.0 (2019-07-05)

  • Added rules to install launch files
  • Contributors: Christopher Lang, Sebastian Dengler

1.1.0 (2019-06-21)

  • Added sync integration for multiple device operation
  • Contributors: Christopher Lang, Sebastian Dengler

1.0.0 (2019-05-14)

0.9.6 (2019-05-13)

0.9.5 (2019-05-03)

0.9.3 (2019-04-26)

0.9.2 (2019-04-17)

0.9.0 (2019-04-09)

0.8.1 (2019-03-29)

0.8.0 (2019-03-08)

0.7.0 (2019-02-27)

0.5.0 (2019-02-07)

Wiki Tutorials

See ROS Wiki Tutorials for more details.

Source Tutorials

Not currently indexed.

Dependant Packages

Launch files

  • launch/toposens_sync.launch
    • This file forms the core of a launch file for a multi-TS3-system. See http://wiki.ros.org/toposens/Tutorials/Using%20Multiple%20TS3%20Sensors on how to complete it.
      • ports [default: [/dev/ttyUSB0, /dev/ttyUSB1]]
      • frame_ids [default: [ts3_1, ts3_2]]

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged toposens_sync at answers.ros.org

Package Summary

Tags No category tags.
Version 2.3.1
License BSD 3-Clause
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://gitlab.com/toposens/public/ros-packages.git
VCS Type git
VCS Version master
Last Updated 2021-11-10
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

Operational sync of multiple TS sensors.

Additional Links

Maintainers

  • Dennis Maier
  • Baris Yazici

Authors

  • Sebastian Dengler
  • Christopher Lang

toposens_sync

This package enables the use of multiple synchronized TS3 sensors alternately. It sets up a SensorManager on top of a group of Sensor objects and triggers them alternately.

It was developed and tested for ROS Melodic on Ubuntu 18.04 (Bionic) and ROS Kinetic on Ubuntu 16.04 (Xenial) using Toposens TS3 ultrasonic sensor.

Usage

Build

Find information on how to build the package in the README of the toposens metapackage.

Enable Serial Port Permissions

Find information on how to setup the serial port permissions in the README of the toposens_driver package.

Setup Launch File

Create a launch file with the following content (this is an example):

<launch>
  <arg name="ports" default="[/dev/ttyUSB0, /dev/ttyUSB1]"/>
  <arg name="frame_ids" default="[ts3_1, ts3_2]"/>

  <node pkg="toposens_sync" type="toposens_sync_node"
        name="ts_sync_node" output="screen">
    <rosparam param="ports" subst_value="true">$(arg ports)</rosparam>
    <rosparam param="frames" subst_value="true">$(arg frame_ids)</rosparam>
  </node>

  <node pkg="tf" type="static_transform_publisher" name="toposens_link_1"
        args="0 -0.10 0 0 0 0 1 toposens ts3_1 100" />
  <node pkg="tf" type="static_transform_publisher" name="toposens_link_2"
        args="0 0.10 0 0 0 0 1 toposens ts3_2 100" />

  <node pkg="toposens_pointcloud" type="toposens_pointcloud_node"
        name="ts_cloud_node" output="screen">
    <param name="target_frame" value="toposens" />
  </node>

  <node pkg="rviz" type="rviz" name="grid_visualization" output="screen"
        args="-d $(find toposens_pointcloud)/rviz/toposens_pointcloud.rviz" />
</launch>

The file can be broken down into the following parts:

<arg name="ports" default="[/dev/ttyUSB0, /dev/ttyUSB1]"/>
<arg name="frame_ids" default="[ts3_1, ts3_2]"/>

The terminal IDs ("ports") and frame IDs ("frame_ids") are defined as arrays. Both these arrays need to have the same size. Element [i] of "ports" is mapped to element [i] of "frame_ids".

<node pkg="toposens_sync" type="toposens_sync_node"
      name="ts_sync_node" output="screen">
  <rosparam param="ports" subst_value="true">$(arg ports)</rosparam>
  <rosparam param="frames" subst_value="true">$(arg frame_ids)</rosparam>
</node>

The ts_sync_node must be given the arrays of the terminal IDs and frame IDs as launch arguments. The ts_sync_node handles the alternating triggering of the sensors as well as the polling of their data stream.

<node pkg="tf" type="static_transform_publisher" name="toposens_link_1"
      args="0 -0.10 0 0 0 0 1 toposens ts3_1 100" />
<node pkg="tf" type="static_transform_publisher" name="toposens_link_2"
      args="0 0.10 0 0 0 0 1 toposens ts3_2 100" />

In order to set the transformation from the individual sensor frames (here: ts_1, ts_2) to the desired reference frame (here: toposens), static transform publishers are used. Fill in the correct tf parameters for your setup.

<node pkg="toposens_pointcloud" type="toposens_pointcloud_node"
      name="ts_cloud_node" output="screen">
  <param name="target_frame" value="toposens" />
</node>

The data that is accumulated from the two sensors can be translated into messages of type sensor_msgs/PointCloud2 via the ts_cloud_node. The name of the frame in which the pointcloud is published is given to the node as a launch argument.

<node pkg="rviz" type="rviz" name="grid_visualization" output="screen"
      args="-d $(find toposens_pointcloud)/rviz/toposens_pointcloud.rviz" />

In order to visualize the pointcloud, RViz is launched.

Run

In order to visualize the data as sensor_msgs/PointCloud2 messages, launch the ts_sync_node as well as the ts_cloud_node with the created launch file.

roslaunch toposens_sync toposens_sync.launch

The firmware parameters for each TS3 sensor can be adjusted independently through rqt_reconfigure (see README in toposens_driver package).

CHANGELOG

Changelog for package toposens_sync

2.3.1 (2021-10-26)

  • Minor clean-up and bug fixes
  • Contributors: Baris Yazici, Dennis Maier

2.3.0 (2021-09-23)

  • Introduce toposens_echo_driver package
  • Update maintainers
  • Minor bug fixes
  • Contributors: Baris Yazici, Dennis Maier

2.2.1 (2021-05-20)

  • Update Maintainer
  • Minor Update
  • Contributors: Dennis Maier

2.2.0 (2021-02-11)

  • Optimize launch file structure
  • Add .clang-format file and auto-format files (including XML-style files)
  • Contributors: Dennis Maier, Tobias Roth

2.1.1 (2020-11-24)

2.1.0 (2020-11-03)

  • Introduce bringup package and general updates.
  • Prepare for Noetic release
  • Run separate CI stages for melodic+noetic. Bump up CMake version to 3.0.2.
  • Contributors: Tobias Roth

2.0.4 (2020-10-15)

  • Changed package maintainer
  • Fix catkin_lint issues
  • Contributors: Tobias Roth

2.0.3 (2020-08-12)

2.0.2 (2020-02-28)

  • Changed package maintainer
  • Contributors: Sebastian Dengler

2.0.1 (2020-01-23)

2.0.0 (2020-01-14)

1.3.0 (2019-11-18)

1.2.3 (2019-09-03)

1.2.2 (2019-08-02)

1.2.1 (2019-07-12)

1.2.0 (2019-07-05)

  • Added rules to install launch files
  • Contributors: Christopher Lang, Sebastian Dengler

1.1.0 (2019-06-21)

  • Added sync integration for multiple device operation
  • Contributors: Christopher Lang, Sebastian Dengler

1.0.0 (2019-05-14)

0.9.6 (2019-05-13)

0.9.5 (2019-05-03)

0.9.3 (2019-04-26)

0.9.2 (2019-04-17)

0.9.0 (2019-04-09)

0.8.1 (2019-03-29)

0.8.0 (2019-03-08)

0.7.0 (2019-02-27)

0.5.0 (2019-02-07)

Wiki Tutorials

See ROS Wiki Tutorials for more details.

Source Tutorials

Not currently indexed.

Dependant Packages

Launch files

  • launch/toposens_sync.launch
    • This file forms the core of a launch file for a multi-TS3-system. See http://wiki.ros.org/toposens/Tutorials/Using%20Multiple%20TS3%20Sensors on how to complete it.
      • ports [default: [/dev/ttyUSB0, /dev/ttyUSB1]]
      • frame_ids [default: [ts3_1, ts3_2]]

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged toposens_sync at answers.ros.org