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

Package Summary

Tags No category tags.
Version 0.1.0
License Apache 2
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ifm/ifm3d-ros.git
VCS Type git
VCS Version master
Last Updated 2022-10-04
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

ifm3d_ros examples subpackage

Additional Links

Maintainers

  • ifm CSR group

Authors

  • CSR ifm sytron

The ifm3d_ros_examples package

This package provides examples and helper scripts for using the ifm O3R camera platform.

Launchfiles

Please see the list below for launch files shipped with the examples package:

Name Description
six_cameras.launch Launches six nodes, reading data streams on ports 0, 1, 2, 3, 4 and 5. Provide coordinate frame transforms for each node. Note: you can use this example for less than six heads, but you will get a timeout error where no heads are connected. This does not disrupt the proper functioning of the connected heads.
nodelet.launch This is handling the nodelet manager which makes it possible to launch a nodelet similarly as you would a simple node.
head.launch Launches two data streams for both the 2D RGB imager and 3D TOF imager on a camera head. Default ports are 0 (pcic_port:=50010) and 2 (pcic_port:=50012). For different port numbers input port as a parameter when launching.
camera.launch Launches a single camera stream - so only 3D data or 2D RGB data. This launch file is comparable to a single camera setup (O3Ds and O3Xs)

Nodelet launch structure

Note: The O3R platform can handle multiple data streams.*
The camera.launch file only launches a node for one data stream, on the default pcic port 50010. To launch a node for a different port, use:

$ roslaunch ifm3d_ros_driver camera.launch pcic_port:=<PORT_NUMBER>

The launch file(s) encapsulate several features:
1. It (partially) exposes the camera_nodelet parameters as command-line arguments for ease of runtime configuration. 2. It instantiates a nodelet manager which the camera_nodelet will be loaded into. 3. It launches the camera nodelet itself. 4. It publishes the static transform from the camera's optical frame to a traditional ROS sensor frame as a tf2 static_transform_publisher.

You can either use this launch file directly, or, use it as a basis for integrating ifm3d_ros into your own robot software system.

Note: the O3R camera heads carry two imagers, a 3D time-of-flight and a RGB imager.

We provide the head.launch launchfile to handle a whole O3R camera head, that starts two nodes, one for the RGB image (we assume it is plugged in port 0), and one for the 3D imager (we assume it is plugged in port 2).

Building launch files distributed systems

Note: This is WIR. We are currently working on Docker images which will allow you an easy deployment of our ROS node to the VPU.

LICENSE

Please see the file called LICENSE.

CHANGELOG
No CHANGELOG found.

Wiki Tutorials

See ROS Wiki Tutorials for more details.

Source Tutorials

Not currently indexed.

Package Dependencies

System Dependencies

No direct system dependencies.

Dependant Packages

Launch files

  • launch/nodelet.launch
      • camera [default: camera]
      • ip [default: 192.168.0.69] — The IP address of the VPU.
      • xmlrpc_port [default: 80] — The TCP port the camera's xmlrpc server is listening on for requests.
      • pcic_port [default: 50010] — The TCP (data) port the camera's pcic server is listening on for requests.
      • password [default: ] — The password required to establish an edit session on the VPU
      • schema_mask [default: 15] — The pcic schema mask to apply to the active session with the frame grabber. This determines which images are available for publication from the camera. More about pcic schemas can be gleaned from https://www.ifm3d.com
      • timeout_millis [default: 500] — The number of milliseconds to wait for the framegrabber to return new frame data before declaring a "timeout" and to stop blocking on new data.
      • timeout_tolerance_secs [default: 5.0] — The wall time to wait with no new data from the camera before trying to establish a new connection to the camera. This helps to providerobustness against camera cables becoming unplugged or other in-field pathologies which would cause the connection between the ROS node and the camera to be broken.
      • respawn [default: false] — Restart the node automatically if it quits.
      • assume_sw_triggered [default: false] — This provides a hint to the driver that the camera is configured for software triggering (as opposed to free running). In this mode, certain default values are applied to lessen the noise in terms of timeouts from the frame grabber.
      • frame_id_base [default: ifm3d/$(arg camera)]
  • launch/merge_pc.launch
      • namespace [default: ifm3d_ros_examples] — Desired namespace for the camera nodelet
      • nodelet_name1 [default: camera1]
      • nodelet_name2 [default: camera2]
      • nodelet_name3 [default: camera3]
      • nodelet_name4 [default: camera4]
      • ip [default: 192.168.0.69] — The IP address of the VPU, i.e. main processing unit.
      • xmlrpc_port [default: 80] — The TCP port the camera's xmlrpc server is listening on for requests.
      • pcic_port_1 [default: 50010] — The TCP (data) port the first camera's pcic server is listening on for requests.
      • pcic_port_2 [default: 50011] — The TCP (data) port the second camera's pcic server is listening on for requests.
      • pcic_port_3 [default: 50012] — The TCP (data) port the third camera's pcic server is listening on for requests.
      • pcic_port_4 [default: 50013] — The TCP (data) port the fourth camera's pcic server is listening on for requests.
      • pcic_port_5 [default: 50014] — The TCP (data) port the fifth camera's pcic server is listening on for requests.
      • pcic_port_6 [default: 50015] — The TCP (data) port the sixth camera's pcic server is listening on for requests.
      • password [default: ] — The password required to establish an edit session on the VPU.
      • schema_mask [default: 15] — The pcic schema mask to apply to the active session with the frame grabber. This determines which images are available for publication from the camera. More about pcic schemas can be gleaned from the https://www.ifm3d.com. May be replaced with a true JSON communication soon.
      • timeout_millis [default: 500] — The number of milliseconds to wait for the framegrabber to return new frame data before declaring a "timeout" and to stop blocking on new data.
      • timeout_tolerance_secs [default: 5.0] — The wall time to wait with no new data from the camera before trying to establish a new connection to the camera.
      • frame_id_base [default: $(arg namespace)/$(arg nodelet_name1)] — This string provides a prefix into the `tf` tree for `ifm3d-ros` coordinate frames.
      • respawn [default: false] — Restart the node automatically if it quits.
      • assume_sw_triggered [default: false] — This provides a hint to the driver that the camera is configured for software triggering (as opposed to free running and hardware triggered modes - will follow soon).
  • launch/head.launch
      • namespace [default: ifm3d_ros_examples] — Desired namespace for the camera nodelet
      • nodelet_name1 [default: camera1]
      • nodelet_name2 [default: camera2]
      • ip [default: 192.168.0.69] — The IP address of the VPU.
      • xmlrpc_port [default: 80] — The TCP port the camera's xmlrpc server is listening on for requests.
      • pcic_port_1 [default: 50010] — The TCP (data) port the camera's pcic server is listening on for requests.
      • pcic_port_2 [default: 50012] — The TCP (data) port the camera's pcic server is listening on for requests.
      • password [default: ] — The password required to establish an edit session on the VPU
      • schema_mask [default: 15] — The pcic schema mask to apply to the active session with the frame grabber. This determines which images are available for publication from the camera. More about pcic schemas can be gleaned from the https://www.ifm3d.com.
      • timeout_millis [default: 500] — The number of milliseconds to wait for the framegrabber to return new frame data before declaring a "timeout" and to stop blocking on new data.
      • timeout_tolerance_secs [default: 5.0] — The wall time to wait with no new data from the camera before trying to establish a new conodelet_nameection to the camera.
      • frame_id_base [default: $(arg namespace)/$(arg nodelet_name1)] — This string provides a prefix into the `tf` tree for `ifm3d-ros` coordinate frames.
      • respawn [default: false] — Restart the node automatically if it quits.
      • assume_sw_triggered [default: false] — This mode means the driver of the the camera is configured for software triggering (as opposed to free running and hardware triggered modes - will follow soon).
  • launch/four_cameras.launch
      • namespace [default: ifm3d_ros_examples] — Desired namespace for the camera nodelet
      • nodelet_name1 [default: camera1]
      • nodelet_name2 [default: camera2]
      • nodelet_name3 [default: camera3]
      • nodelet_name4 [default: camera4]
      • ip [default: 192.168.0.69] — The IP address of the VPU, i.e. main processing unit.
      • xmlrpc_port [default: 80] — The TCP port the camera's xmlrpc server is listening on for requests.
      • pcic_port_1 [default: 50010] — The TCP (data) port the first camera's pcic server is listening on for requests.
      • pcic_port_2 [default: 50011] — The TCP (data) port the second camera's pcic server is listening on for requests.
      • pcic_port_3 [default: 50012] — The TCP (data) port the third camera's pcic server is listening on for requests.
      • pcic_port_4 [default: 50013] — The TCP (data) port the fourth camera's pcic server is listening on for requests.
      • password [default: ] — The password required to establish an edit session on the VPU.
      • schema_mask [default: 15] — The pcic schema mask to apply to the active session with the frame grabber. This determines which images are available for publication from the camera. More about pcic schemas can be gleaned from the https://www.ifm3d.com. May be replaced with a true JSON communication soon.
      • timeout_millis [default: 500] — The number of milliseconds to wait for the framegrabber to return new frame data before declaring a "timeout" and to stop blocking on new data.
      • timeout_tolerance_secs [default: 5.0] — The wall time to wait with no new data from the camera before trying to establish a new connection to the camera.
      • frame_id_base [default: $(arg namespace)/$(arg nodelet_name1)] — This string provides a prefix into the `tf` tree for `ifm3d-ros` coordinate frames.
      • respawn [default: false] — Restart the node automatically if it quits.
      • assume_sw_triggered [default: false] — This provides a hint to the driver that the camera is configured for software triggering (as opposed to free running and hardware triggered modes - will follow soon).
  • launch/camera.launch
      • namespace [default: ifm3d_ros_examples] — Desired namespace for the camera nodelet
      • nodelet_name [default: camera]
      • ip [default: 192.168.0.69] — The IP address of the VPU.
      • xmlrpc_port [default: 80] — The TCP port the camera's xmlrpc server is listening on for requests.
      • pcic_port [default: 50010] — The TCP (data) port the camera's pcic server is listening on for requests.
      • password [default: ] — The password required to establish an edit session on the VPU
      • schema_mask [default: 15] — The pcic schema mask to apply to the active session with the frame grabber. This determines which images are available for publication from the camera. More about pcic schemas can be gleaned from the https://www.ifm3d.com.
      • timeout_millis [default: 500] — The number of milliseconds to wait for the framegrabber to return new frame data before declaring a "timeout" and to stop blocking on new data.
      • timeout_tolerance_secs [default: 5.0] — The wall time to wait with no new data from the camera before trying to establish a new connection to the camera.
      • frame_id_base [default: $(arg namespace)/$(arg nodelet_name)] — This string provides a prefix into the `tf` tree for `ifm3d-ros` coordinate frames.
      • respawn [default: false] — Restart the node automatically if it quits.
      • assume_sw_triggered [default: false] — This mode means the driver of the the camera is configured for software triggering (as opposed to free running and hardware triggered modes - will follow soon).
  • launch/six_cameras.launch
      • namespace [default: ifm3d_ros_examples] — Desired namespace for the camera nodelet
      • nodelet_name1 [default: camera1]
      • nodelet_name2 [default: camera2]
      • nodelet_name3 [default: camera3]
      • nodelet_name4 [default: camera4]
      • nodelet_name5 [default: camera5]
      • nodelet_name6 [default: camera6]
      • ip [default: 192.168.0.69] — The IP address of the VPU, i.e. main processing unit.
      • xmlrpc_port [default: 80] — The TCP port the camera's xmlrpc server is listening on for requests.
      • pcic_port_1 [default: 50010] — The TCP (data) port the first camera's pcic server is listening on for requests.
      • pcic_port_2 [default: 50011] — The TCP (data) port the second camera's pcic server is listening on for requests.
      • pcic_port_3 [default: 50012] — The TCP (data) port the third camera's pcic server is listening on for requests.
      • pcic_port_4 [default: 50013] — The TCP (data) port the fourth camera's pcic server is listening on for requests.
      • pcic_port_5 [default: 50014] — The TCP (data) port the fifth camera's pcic server is listening on for requests.
      • pcic_port_6 [default: 50015] — The TCP (data) port the sixth camera's pcic server is listening on for requests.
      • password [default: ] — The password required to establish an edit session on the VPU.
      • schema_mask [default: 15] — The pcic schema mask to apply to the active session with the frame grabber. This determines which images are available for publication from the camera. More about pcic schemas can be gleaned from the https://www.ifm3d.com. May be replaced with a true JSON communication soon.
      • timeout_millis [default: 500] — The number of milliseconds to wait for the framegrabber to return new frame data before declaring a "timeout" and to stop blocking on new data.
      • timeout_tolerance_secs [default: 5.0] — The wall time to wait with no new data from the camera before trying to establish a new connection to the camera.
      • frame_id_base [default: $(arg namespace)/$(arg nodelet_name1)] — This string provides a prefix into the `tf` tree for `ifm3d-ros` coordinate frames.
      • respawn [default: false] — Restart the node automatically if it quits.
      • assume_sw_triggered [default: false] — This provides a hint to the driver that the camera is configured for software triggering (as opposed to free running and hardware triggered modes - will follow soon).
  • launch/rviz.launch
      • namespace [default: ifm3d_ros_examples] — Desired namespace for the rviz node.
      • nodelet_name [default: camera]

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged ifm3d_ros_examples at answers.ros.org

Package Summary

Tags No category tags.
Version 0.1.0
License Apache 2
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ifm/ifm3d-ros.git
VCS Type git
VCS Version master
Last Updated 2022-10-04
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

ifm3d_ros examples subpackage

Additional Links

Maintainers

  • ifm CSR group

Authors

  • CSR ifm sytron

The ifm3d_ros_examples package

This package provides examples and helper scripts for using the ifm O3R camera platform.

Launchfiles

Please see the list below for launch files shipped with the examples package:

Name Description
six_cameras.launch Launches six nodes, reading data streams on ports 0, 1, 2, 3, 4 and 5. Provide coordinate frame transforms for each node. Note: you can use this example for less than six heads, but you will get a timeout error where no heads are connected. This does not disrupt the proper functioning of the connected heads.
nodelet.launch This is handling the nodelet manager which makes it possible to launch a nodelet similarly as you would a simple node.
head.launch Launches two data streams for both the 2D RGB imager and 3D TOF imager on a camera head. Default ports are 0 (pcic_port:=50010) and 2 (pcic_port:=50012). For different port numbers input port as a parameter when launching.
camera.launch Launches a single camera stream - so only 3D data or 2D RGB data. This launch file is comparable to a single camera setup (O3Ds and O3Xs)

Nodelet launch structure

Note: The O3R platform can handle multiple data streams.*
The camera.launch file only launches a node for one data stream, on the default pcic port 50010. To launch a node for a different port, use:

$ roslaunch ifm3d_ros_driver camera.launch pcic_port:=<PORT_NUMBER>

The launch file(s) encapsulate several features:
1. It (partially) exposes the camera_nodelet parameters as command-line arguments for ease of runtime configuration. 2. It instantiates a nodelet manager which the camera_nodelet will be loaded into. 3. It launches the camera nodelet itself. 4. It publishes the static transform from the camera's optical frame to a traditional ROS sensor frame as a tf2 static_transform_publisher.

You can either use this launch file directly, or, use it as a basis for integrating ifm3d_ros into your own robot software system.

Note: the O3R camera heads carry two imagers, a 3D time-of-flight and a RGB imager.

We provide the head.launch launchfile to handle a whole O3R camera head, that starts two nodes, one for the RGB image (we assume it is plugged in port 0), and one for the 3D imager (we assume it is plugged in port 2).

Building launch files distributed systems

Note: This is WIR. We are currently working on Docker images which will allow you an easy deployment of our ROS node to the VPU.

LICENSE

Please see the file called LICENSE.

CHANGELOG
No CHANGELOG found.

Wiki Tutorials

See ROS Wiki Tutorials for more details.

Source Tutorials

Not currently indexed.

Package Dependencies

System Dependencies

No direct system dependencies.

Dependant Packages

Launch files

  • launch/nodelet.launch
      • camera [default: camera]
      • ip [default: 192.168.0.69] — The IP address of the VPU.
      • xmlrpc_port [default: 80] — The TCP port the camera's xmlrpc server is listening on for requests.
      • pcic_port [default: 50010] — The TCP (data) port the camera's pcic server is listening on for requests.
      • password [default: ] — The password required to establish an edit session on the VPU
      • schema_mask [default: 15] — The pcic schema mask to apply to the active session with the frame grabber. This determines which images are available for publication from the camera. More about pcic schemas can be gleaned from https://www.ifm3d.com
      • timeout_millis [default: 500] — The number of milliseconds to wait for the framegrabber to return new frame data before declaring a "timeout" and to stop blocking on new data.
      • timeout_tolerance_secs [default: 5.0] — The wall time to wait with no new data from the camera before trying to establish a new connection to the camera. This helps to providerobustness against camera cables becoming unplugged or other in-field pathologies which would cause the connection between the ROS node and the camera to be broken.
      • respawn [default: false] — Restart the node automatically if it quits.
      • assume_sw_triggered [default: false] — This provides a hint to the driver that the camera is configured for software triggering (as opposed to free running). In this mode, certain default values are applied to lessen the noise in terms of timeouts from the frame grabber.
      • frame_id_base [default: ifm3d/$(arg camera)]
  • launch/merge_pc.launch
      • namespace [default: ifm3d_ros_examples] — Desired namespace for the camera nodelet
      • nodelet_name1 [default: camera1]
      • nodelet_name2 [default: camera2]
      • nodelet_name3 [default: camera3]
      • nodelet_name4 [default: camera4]
      • ip [default: 192.168.0.69] — The IP address of the VPU, i.e. main processing unit.
      • xmlrpc_port [default: 80] — The TCP port the camera's xmlrpc server is listening on for requests.
      • pcic_port_1 [default: 50010] — The TCP (data) port the first camera's pcic server is listening on for requests.
      • pcic_port_2 [default: 50011] — The TCP (data) port the second camera's pcic server is listening on for requests.
      • pcic_port_3 [default: 50012] — The TCP (data) port the third camera's pcic server is listening on for requests.
      • pcic_port_4 [default: 50013] — The TCP (data) port the fourth camera's pcic server is listening on for requests.
      • pcic_port_5 [default: 50014] — The TCP (data) port the fifth camera's pcic server is listening on for requests.
      • pcic_port_6 [default: 50015] — The TCP (data) port the sixth camera's pcic server is listening on for requests.
      • password [default: ] — The password required to establish an edit session on the VPU.
      • schema_mask [default: 15] — The pcic schema mask to apply to the active session with the frame grabber. This determines which images are available for publication from the camera. More about pcic schemas can be gleaned from the https://www.ifm3d.com. May be replaced with a true JSON communication soon.
      • timeout_millis [default: 500] — The number of milliseconds to wait for the framegrabber to return new frame data before declaring a "timeout" and to stop blocking on new data.
      • timeout_tolerance_secs [default: 5.0] — The wall time to wait with no new data from the camera before trying to establish a new connection to the camera.
      • frame_id_base [default: $(arg namespace)/$(arg nodelet_name1)] — This string provides a prefix into the `tf` tree for `ifm3d-ros` coordinate frames.
      • respawn [default: false] — Restart the node automatically if it quits.
      • assume_sw_triggered [default: false] — This provides a hint to the driver that the camera is configured for software triggering (as opposed to free running and hardware triggered modes - will follow soon).
  • launch/head.launch
      • namespace [default: ifm3d_ros_examples] — Desired namespace for the camera nodelet
      • nodelet_name1 [default: camera1]
      • nodelet_name2 [default: camera2]
      • ip [default: 192.168.0.69] — The IP address of the VPU.
      • xmlrpc_port [default: 80] — The TCP port the camera's xmlrpc server is listening on for requests.
      • pcic_port_1 [default: 50010] — The TCP (data) port the camera's pcic server is listening on for requests.
      • pcic_port_2 [default: 50012] — The TCP (data) port the camera's pcic server is listening on for requests.
      • password [default: ] — The password required to establish an edit session on the VPU
      • schema_mask [default: 15] — The pcic schema mask to apply to the active session with the frame grabber. This determines which images are available for publication from the camera. More about pcic schemas can be gleaned from the https://www.ifm3d.com.
      • timeout_millis [default: 500] — The number of milliseconds to wait for the framegrabber to return new frame data before declaring a "timeout" and to stop blocking on new data.
      • timeout_tolerance_secs [default: 5.0] — The wall time to wait with no new data from the camera before trying to establish a new conodelet_nameection to the camera.
      • frame_id_base [default: $(arg namespace)/$(arg nodelet_name1)] — This string provides a prefix into the `tf` tree for `ifm3d-ros` coordinate frames.
      • respawn [default: false] — Restart the node automatically if it quits.
      • assume_sw_triggered [default: false] — This mode means the driver of the the camera is configured for software triggering (as opposed to free running and hardware triggered modes - will follow soon).
  • launch/four_cameras.launch
      • namespace [default: ifm3d_ros_examples] — Desired namespace for the camera nodelet
      • nodelet_name1 [default: camera1]
      • nodelet_name2 [default: camera2]
      • nodelet_name3 [default: camera3]
      • nodelet_name4 [default: camera4]
      • ip [default: 192.168.0.69] — The IP address of the VPU, i.e. main processing unit.
      • xmlrpc_port [default: 80] — The TCP port the camera's xmlrpc server is listening on for requests.
      • pcic_port_1 [default: 50010] — The TCP (data) port the first camera's pcic server is listening on for requests.
      • pcic_port_2 [default: 50011] — The TCP (data) port the second camera's pcic server is listening on for requests.
      • pcic_port_3 [default: 50012] — The TCP (data) port the third camera's pcic server is listening on for requests.
      • pcic_port_4 [default: 50013] — The TCP (data) port the fourth camera's pcic server is listening on for requests.
      • password [default: ] — The password required to establish an edit session on the VPU.
      • schema_mask [default: 15] — The pcic schema mask to apply to the active session with the frame grabber. This determines which images are available for publication from the camera. More about pcic schemas can be gleaned from the https://www.ifm3d.com. May be replaced with a true JSON communication soon.
      • timeout_millis [default: 500] — The number of milliseconds to wait for the framegrabber to return new frame data before declaring a "timeout" and to stop blocking on new data.
      • timeout_tolerance_secs [default: 5.0] — The wall time to wait with no new data from the camera before trying to establish a new connection to the camera.
      • frame_id_base [default: $(arg namespace)/$(arg nodelet_name1)] — This string provides a prefix into the `tf` tree for `ifm3d-ros` coordinate frames.
      • respawn [default: false] — Restart the node automatically if it quits.
      • assume_sw_triggered [default: false] — This provides a hint to the driver that the camera is configured for software triggering (as opposed to free running and hardware triggered modes - will follow soon).
  • launch/camera.launch
      • namespace [default: ifm3d_ros_examples] — Desired namespace for the camera nodelet
      • nodelet_name [default: camera]
      • ip [default: 192.168.0.69] — The IP address of the VPU.
      • xmlrpc_port [default: 80] — The TCP port the camera's xmlrpc server is listening on for requests.
      • pcic_port [default: 50010] — The TCP (data) port the camera's pcic server is listening on for requests.
      • password [default: ] — The password required to establish an edit session on the VPU
      • schema_mask [default: 15] — The pcic schema mask to apply to the active session with the frame grabber. This determines which images are available for publication from the camera. More about pcic schemas can be gleaned from the https://www.ifm3d.com.
      • timeout_millis [default: 500] — The number of milliseconds to wait for the framegrabber to return new frame data before declaring a "timeout" and to stop blocking on new data.
      • timeout_tolerance_secs [default: 5.0] — The wall time to wait with no new data from the camera before trying to establish a new connection to the camera.
      • frame_id_base [default: $(arg namespace)/$(arg nodelet_name)] — This string provides a prefix into the `tf` tree for `ifm3d-ros` coordinate frames.
      • respawn [default: false] — Restart the node automatically if it quits.
      • assume_sw_triggered [default: false] — This mode means the driver of the the camera is configured for software triggering (as opposed to free running and hardware triggered modes - will follow soon).
  • launch/six_cameras.launch
      • namespace [default: ifm3d_ros_examples] — Desired namespace for the camera nodelet
      • nodelet_name1 [default: camera1]
      • nodelet_name2 [default: camera2]
      • nodelet_name3 [default: camera3]
      • nodelet_name4 [default: camera4]
      • nodelet_name5 [default: camera5]
      • nodelet_name6 [default: camera6]
      • ip [default: 192.168.0.69] — The IP address of the VPU, i.e. main processing unit.
      • xmlrpc_port [default: 80] — The TCP port the camera's xmlrpc server is listening on for requests.
      • pcic_port_1 [default: 50010] — The TCP (data) port the first camera's pcic server is listening on for requests.
      • pcic_port_2 [default: 50011] — The TCP (data) port the second camera's pcic server is listening on for requests.
      • pcic_port_3 [default: 50012] — The TCP (data) port the third camera's pcic server is listening on for requests.
      • pcic_port_4 [default: 50013] — The TCP (data) port the fourth camera's pcic server is listening on for requests.
      • pcic_port_5 [default: 50014] — The TCP (data) port the fifth camera's pcic server is listening on for requests.
      • pcic_port_6 [default: 50015] — The TCP (data) port the sixth camera's pcic server is listening on for requests.
      • password [default: ] — The password required to establish an edit session on the VPU.
      • schema_mask [default: 15] — The pcic schema mask to apply to the active session with the frame grabber. This determines which images are available for publication from the camera. More about pcic schemas can be gleaned from the https://www.ifm3d.com. May be replaced with a true JSON communication soon.
      • timeout_millis [default: 500] — The number of milliseconds to wait for the framegrabber to return new frame data before declaring a "timeout" and to stop blocking on new data.
      • timeout_tolerance_secs [default: 5.0] — The wall time to wait with no new data from the camera before trying to establish a new connection to the camera.
      • frame_id_base [default: $(arg namespace)/$(arg nodelet_name1)] — This string provides a prefix into the `tf` tree for `ifm3d-ros` coordinate frames.
      • respawn [default: false] — Restart the node automatically if it quits.
      • assume_sw_triggered [default: false] — This provides a hint to the driver that the camera is configured for software triggering (as opposed to free running and hardware triggered modes - will follow soon).
  • launch/rviz.launch
      • namespace [default: ifm3d_ros_examples] — Desired namespace for the rviz node.
      • nodelet_name [default: camera]

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged ifm3d_ros_examples at answers.ros.org

No version for distro ardent. Known supported distros are highlighted in the buttons above.
No version for distro bouncy. Known supported distros are highlighted in the buttons above.
No version for distro crystal. Known supported distros are highlighted in the buttons above.
No version for distro eloquent. Known supported distros are highlighted in the buttons above.
No version for distro dashing. Known supported distros are highlighted in the buttons above.
No version for distro galactic. Known supported distros are highlighted in the buttons above.
No version for distro lunar. Known supported distros are highlighted in the buttons above.
No version for distro jade. Known supported distros are highlighted in the buttons above.
No version for distro indigo. Known supported distros are highlighted in the buttons above.
No version for distro hydro. Known supported distros are highlighted in the buttons above.

Package Summary

Tags No category tags.
Version 0.1.0
License Apache 2
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ifm/ifm3d-ros.git
VCS Type git
VCS Version master
Last Updated 2022-10-04
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

ifm3d_ros examples subpackage

Additional Links

Maintainers

  • ifm CSR group

Authors

  • CSR ifm sytron

The ifm3d_ros_examples package

This package provides examples and helper scripts for using the ifm O3R camera platform.

Launchfiles

Please see the list below for launch files shipped with the examples package:

Name Description
six_cameras.launch Launches six nodes, reading data streams on ports 0, 1, 2, 3, 4 and 5. Provide coordinate frame transforms for each node. Note: you can use this example for less than six heads, but you will get a timeout error where no heads are connected. This does not disrupt the proper functioning of the connected heads.
nodelet.launch This is handling the nodelet manager which makes it possible to launch a nodelet similarly as you would a simple node.
head.launch Launches two data streams for both the 2D RGB imager and 3D TOF imager on a camera head. Default ports are 0 (pcic_port:=50010) and 2 (pcic_port:=50012). For different port numbers input port as a parameter when launching.
camera.launch Launches a single camera stream - so only 3D data or 2D RGB data. This launch file is comparable to a single camera setup (O3Ds and O3Xs)

Nodelet launch structure

Note: The O3R platform can handle multiple data streams.*
The camera.launch file only launches a node for one data stream, on the default pcic port 50010. To launch a node for a different port, use:

$ roslaunch ifm3d_ros_driver camera.launch pcic_port:=<PORT_NUMBER>

The launch file(s) encapsulate several features:
1. It (partially) exposes the camera_nodelet parameters as command-line arguments for ease of runtime configuration. 2. It instantiates a nodelet manager which the camera_nodelet will be loaded into. 3. It launches the camera nodelet itself. 4. It publishes the static transform from the camera's optical frame to a traditional ROS sensor frame as a tf2 static_transform_publisher.

You can either use this launch file directly, or, use it as a basis for integrating ifm3d_ros into your own robot software system.

Note: the O3R camera heads carry two imagers, a 3D time-of-flight and a RGB imager.

We provide the head.launch launchfile to handle a whole O3R camera head, that starts two nodes, one for the RGB image (we assume it is plugged in port 0), and one for the 3D imager (we assume it is plugged in port 2).

Building launch files distributed systems

Note: This is WIR. We are currently working on Docker images which will allow you an easy deployment of our ROS node to the VPU.

LICENSE

Please see the file called LICENSE.

CHANGELOG
No CHANGELOG found.

Wiki Tutorials

See ROS Wiki Tutorials for more details.

Source Tutorials

Not currently indexed.

Package Dependencies

System Dependencies

No direct system dependencies.

Dependant Packages

Launch files

  • launch/nodelet.launch
      • camera [default: camera]
      • ip [default: 192.168.0.69] — The IP address of the VPU.
      • xmlrpc_port [default: 80] — The TCP port the camera's xmlrpc server is listening on for requests.
      • pcic_port [default: 50010] — The TCP (data) port the camera's pcic server is listening on for requests.
      • password [default: ] — The password required to establish an edit session on the VPU
      • schema_mask [default: 15] — The pcic schema mask to apply to the active session with the frame grabber. This determines which images are available for publication from the camera. More about pcic schemas can be gleaned from https://www.ifm3d.com
      • timeout_millis [default: 500] — The number of milliseconds to wait for the framegrabber to return new frame data before declaring a "timeout" and to stop blocking on new data.
      • timeout_tolerance_secs [default: 5.0] — The wall time to wait with no new data from the camera before trying to establish a new connection to the camera. This helps to providerobustness against camera cables becoming unplugged or other in-field pathologies which would cause the connection between the ROS node and the camera to be broken.
      • respawn [default: false] — Restart the node automatically if it quits.
      • assume_sw_triggered [default: false] — This provides a hint to the driver that the camera is configured for software triggering (as opposed to free running). In this mode, certain default values are applied to lessen the noise in terms of timeouts from the frame grabber.
      • frame_id_base [default: ifm3d/$(arg camera)]
  • launch/merge_pc.launch
      • namespace [default: ifm3d_ros_examples] — Desired namespace for the camera nodelet
      • nodelet_name1 [default: camera1]
      • nodelet_name2 [default: camera2]
      • nodelet_name3 [default: camera3]
      • nodelet_name4 [default: camera4]
      • ip [default: 192.168.0.69] — The IP address of the VPU, i.e. main processing unit.
      • xmlrpc_port [default: 80] — The TCP port the camera's xmlrpc server is listening on for requests.
      • pcic_port_1 [default: 50010] — The TCP (data) port the first camera's pcic server is listening on for requests.
      • pcic_port_2 [default: 50011] — The TCP (data) port the second camera's pcic server is listening on for requests.
      • pcic_port_3 [default: 50012] — The TCP (data) port the third camera's pcic server is listening on for requests.
      • pcic_port_4 [default: 50013] — The TCP (data) port the fourth camera's pcic server is listening on for requests.
      • pcic_port_5 [default: 50014] — The TCP (data) port the fifth camera's pcic server is listening on for requests.
      • pcic_port_6 [default: 50015] — The TCP (data) port the sixth camera's pcic server is listening on for requests.
      • password [default: ] — The password required to establish an edit session on the VPU.
      • schema_mask [default: 15] — The pcic schema mask to apply to the active session with the frame grabber. This determines which images are available for publication from the camera. More about pcic schemas can be gleaned from the https://www.ifm3d.com. May be replaced with a true JSON communication soon.
      • timeout_millis [default: 500] — The number of milliseconds to wait for the framegrabber to return new frame data before declaring a "timeout" and to stop blocking on new data.
      • timeout_tolerance_secs [default: 5.0] — The wall time to wait with no new data from the camera before trying to establish a new connection to the camera.
      • frame_id_base [default: $(arg namespace)/$(arg nodelet_name1)] — This string provides a prefix into the `tf` tree for `ifm3d-ros` coordinate frames.
      • respawn [default: false] — Restart the node automatically if it quits.
      • assume_sw_triggered [default: false] — This provides a hint to the driver that the camera is configured for software triggering (as opposed to free running and hardware triggered modes - will follow soon).
  • launch/head.launch
      • namespace [default: ifm3d_ros_examples] — Desired namespace for the camera nodelet
      • nodelet_name1 [default: camera1]
      • nodelet_name2 [default: camera2]
      • ip [default: 192.168.0.69] — The IP address of the VPU.
      • xmlrpc_port [default: 80] — The TCP port the camera's xmlrpc server is listening on for requests.
      • pcic_port_1 [default: 50010] — The TCP (data) port the camera's pcic server is listening on for requests.
      • pcic_port_2 [default: 50012] — The TCP (data) port the camera's pcic server is listening on for requests.
      • password [default: ] — The password required to establish an edit session on the VPU
      • schema_mask [default: 15] — The pcic schema mask to apply to the active session with the frame grabber. This determines which images are available for publication from the camera. More about pcic schemas can be gleaned from the https://www.ifm3d.com.
      • timeout_millis [default: 500] — The number of milliseconds to wait for the framegrabber to return new frame data before declaring a "timeout" and to stop blocking on new data.
      • timeout_tolerance_secs [default: 5.0] — The wall time to wait with no new data from the camera before trying to establish a new conodelet_nameection to the camera.
      • frame_id_base [default: $(arg namespace)/$(arg nodelet_name1)] — This string provides a prefix into the `tf` tree for `ifm3d-ros` coordinate frames.
      • respawn [default: false] — Restart the node automatically if it quits.
      • assume_sw_triggered [default: false] — This mode means the driver of the the camera is configured for software triggering (as opposed to free running and hardware triggered modes - will follow soon).
  • launch/four_cameras.launch
      • namespace [default: ifm3d_ros_examples] — Desired namespace for the camera nodelet
      • nodelet_name1 [default: camera1]
      • nodelet_name2 [default: camera2]
      • nodelet_name3 [default: camera3]
      • nodelet_name4 [default: camera4]
      • ip [default: 192.168.0.69] — The IP address of the VPU, i.e. main processing unit.
      • xmlrpc_port [default: 80] — The TCP port the camera's xmlrpc server is listening on for requests.
      • pcic_port_1 [default: 50010] — The TCP (data) port the first camera's pcic server is listening on for requests.
      • pcic_port_2 [default: 50011] — The TCP (data) port the second camera's pcic server is listening on for requests.
      • pcic_port_3 [default: 50012] — The TCP (data) port the third camera's pcic server is listening on for requests.
      • pcic_port_4 [default: 50013] — The TCP (data) port the fourth camera's pcic server is listening on for requests.
      • password [default: ] — The password required to establish an edit session on the VPU.
      • schema_mask [default: 15] — The pcic schema mask to apply to the active session with the frame grabber. This determines which images are available for publication from the camera. More about pcic schemas can be gleaned from the https://www.ifm3d.com. May be replaced with a true JSON communication soon.
      • timeout_millis [default: 500] — The number of milliseconds to wait for the framegrabber to return new frame data before declaring a "timeout" and to stop blocking on new data.
      • timeout_tolerance_secs [default: 5.0] — The wall time to wait with no new data from the camera before trying to establish a new connection to the camera.
      • frame_id_base [default: $(arg namespace)/$(arg nodelet_name1)] — This string provides a prefix into the `tf` tree for `ifm3d-ros` coordinate frames.
      • respawn [default: false] — Restart the node automatically if it quits.
      • assume_sw_triggered [default: false] — This provides a hint to the driver that the camera is configured for software triggering (as opposed to free running and hardware triggered modes - will follow soon).
  • launch/camera.launch
      • namespace [default: ifm3d_ros_examples] — Desired namespace for the camera nodelet
      • nodelet_name [default: camera]
      • ip [default: 192.168.0.69] — The IP address of the VPU.
      • xmlrpc_port [default: 80] — The TCP port the camera's xmlrpc server is listening on for requests.
      • pcic_port [default: 50010] — The TCP (data) port the camera's pcic server is listening on for requests.
      • password [default: ] — The password required to establish an edit session on the VPU
      • schema_mask [default: 15] — The pcic schema mask to apply to the active session with the frame grabber. This determines which images are available for publication from the camera. More about pcic schemas can be gleaned from the https://www.ifm3d.com.
      • timeout_millis [default: 500] — The number of milliseconds to wait for the framegrabber to return new frame data before declaring a "timeout" and to stop blocking on new data.
      • timeout_tolerance_secs [default: 5.0] — The wall time to wait with no new data from the camera before trying to establish a new connection to the camera.
      • frame_id_base [default: $(arg namespace)/$(arg nodelet_name)] — This string provides a prefix into the `tf` tree for `ifm3d-ros` coordinate frames.
      • respawn [default: false] — Restart the node automatically if it quits.
      • assume_sw_triggered [default: false] — This mode means the driver of the the camera is configured for software triggering (as opposed to free running and hardware triggered modes - will follow soon).
  • launch/six_cameras.launch
      • namespace [default: ifm3d_ros_examples] — Desired namespace for the camera nodelet
      • nodelet_name1 [default: camera1]
      • nodelet_name2 [default: camera2]
      • nodelet_name3 [default: camera3]
      • nodelet_name4 [default: camera4]
      • nodelet_name5 [default: camera5]
      • nodelet_name6 [default: camera6]
      • ip [default: 192.168.0.69] — The IP address of the VPU, i.e. main processing unit.
      • xmlrpc_port [default: 80] — The TCP port the camera's xmlrpc server is listening on for requests.
      • pcic_port_1 [default: 50010] — The TCP (data) port the first camera's pcic server is listening on for requests.
      • pcic_port_2 [default: 50011] — The TCP (data) port the second camera's pcic server is listening on for requests.
      • pcic_port_3 [default: 50012] — The TCP (data) port the third camera's pcic server is listening on for requests.
      • pcic_port_4 [default: 50013] — The TCP (data) port the fourth camera's pcic server is listening on for requests.
      • pcic_port_5 [default: 50014] — The TCP (data) port the fifth camera's pcic server is listening on for requests.
      • pcic_port_6 [default: 50015] — The TCP (data) port the sixth camera's pcic server is listening on for requests.
      • password [default: ] — The password required to establish an edit session on the VPU.
      • schema_mask [default: 15] — The pcic schema mask to apply to the active session with the frame grabber. This determines which images are available for publication from the camera. More about pcic schemas can be gleaned from the https://www.ifm3d.com. May be replaced with a true JSON communication soon.
      • timeout_millis [default: 500] — The number of milliseconds to wait for the framegrabber to return new frame data before declaring a "timeout" and to stop blocking on new data.
      • timeout_tolerance_secs [default: 5.0] — The wall time to wait with no new data from the camera before trying to establish a new connection to the camera.
      • frame_id_base [default: $(arg namespace)/$(arg nodelet_name1)] — This string provides a prefix into the `tf` tree for `ifm3d-ros` coordinate frames.
      • respawn [default: false] — Restart the node automatically if it quits.
      • assume_sw_triggered [default: false] — This provides a hint to the driver that the camera is configured for software triggering (as opposed to free running and hardware triggered modes - will follow soon).
  • launch/rviz.launch
      • namespace [default: ifm3d_ros_examples] — Desired namespace for the rviz node.
      • nodelet_name [default: camera]

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged ifm3d_ros_examples at answers.ros.org