-

pf_driver package from pf_lidar_ros_driver repo

pf_description pf_driver

Package Summary

Tags No category tags.
Version 1.2.1
License Apache2.0
Build type CATKIN
Use RECOMMENDED

Repository Summary

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

Package Description

The Pepperl+Fuchs LiDAR package

Additional Links

Maintainers

  • Harsh Deshpande

Authors

  • Harsh Deshpande
README
No README found. See repository README.
CHANGELOG

Changelog for package pf_driver

1.2.1 (2023-08-17) -----------* Merge pull request #108 from ValerioMa/terminate_cleanly Clean rosnode termination. * Merge pull request #106 from kalectro/main Fixes type of port parameter in cfg files * Merge pull request #104 from ValerioMa/main Move stamping closer to data reading. * Merge pull request #109 from PepperlFuchs/safe_feed_time safe feed time within the defined timeout * clang format applied * Clean termination of ros_main node. Closes: PepperlFuchs/pf_lidar_ros_driver#105 * Fixes type of port parameter in cfg files The port parameter was declared as an int_t in the cfg files but in the code it is expected to be a string. When the dynamic_reconfigure server is started, the data type on the parameter server was changed from string to int. This resulted in getParam of the release 1.2.0 to return False effectively killing any respawn functionality. * Move stamping close to data reading. Before this commit the scan message was stamped just before publishing the data. In the LaserScan message of ros the timestamp in the header is the acquisition time of the first ray in the scan. * safe feed time within the defined timeout * Update r2300.launch fixed typo * Merge pull request #101 from PepperlFuchs/r2300_single_layer R2300 single layer * Merge branch 'main' into r2300_single_layer * added config files for R2300 device family 7 (single layer) * default packet type is C (R2000) * added optional port parameter to yaml config files * Merge pull request #94 from MichaelGrupp/application_bitmap Allow to set hmi_application_bitmap with dynamic_reconfigure * Merge branch 'main' into application_bitmap * Merge pull request #93 from MichaelGrupp/launch-args Allow to disable RViz & pf_bringup in launch file. * Allow to disable RViz & pf_bringup in launch file. This allows better integration in headless systems and robots that already have a robot_state_publisher. * Allow to set hmi_application_bitmap * Merge pull request #99 from PepperlFuchs/fix_udp_port Fix udp port * utilize port specified in config for UDP connection * Merge pull request #87 from wawanbreton/code_refactoring Code refactoring * apply clang formatting * header only has function declaration * remove references to mutex after refactoring * Fixed missing include * Applied clang formatting * Code cleaning and minor optimizations * Added cpp files for each header when possible * Splitted existing cpp files to match headers * Splitted headers to have a single class by file * Moved sources to src folder * Contributors: Erwan MATHIEU, Harsh Deshpande, Kai Franke, Michael Grupp, Valerio Magnago

1.2.0 (2022-05-03)

  • fix focal point to world link of r2300 #72
  • fix xacro filename cases #70
  • viz scanner model in rviz
  • changed necessary for noetic #68
  • added urdf for r2000 and r2300 #66
  • fix deps for CI
  • add urdf bringup launch file
  • added urdf for r2300
  • fix high CPU usage #65 from PepperlFuchs/fix_while_loop
  • fix pointcloud flickering in rviz
  • reset cloud when params change in between publish cycle
  • reduce sleep time for writer thread as observed in #63
  • wait for the next message from the device with a timeout
  • fix layers accumulation and low frequency issue #56 from PepperlFuchs/fix_freq
  • Contributors: Harsh Deshpande

1.1.1 (2021-02-18)

  • Update package.xml
  • Contributors: Pepperl+Fuchs SE

1.1.0 (2021-02-09)

  • Update package.xml
  • Merge pull request #53 from PepperlFuchs/fix-typo fix typo
  • fix typo
  • Merge pull request #52 from PepperlFuchs/fix-exec-name fix exec name
  • changed default start_angle of R2300
  • fix start_angle
  • dummy
  • fix start_angle
  • check negative start_angle
  • fix scan output rviz
  • fix watchdog
  • fix set scanconfig
  • fix private namespace
  • fix exec name
  • Merge pull request #50 from wsaihopfsg/rviz_start_angle_max_num_points_scan Rviz start angle max num points scan
  • updated PFSDP for R2000
  • resolved merge conflicts
  • Update pfsdp_2300.hpp To correct the bug for incorrect display when start_angle and max_num_points_scan is specified
  • Update pfsdp_protocol.hpp To correct the bug in RViz display when start_angle & max_num_points_scan are specified
  • Update scan_publisher.cpp Consider start_angle & max_num_points_scan for RViz
  • Merge pull request #49 from wsaihopfsg/dyn_reconfig_start_angle_max_points_scan Dyn reconfig start angle max points scan
  • Merge pull request #51 from PepperlFuchs/protocol_args Protocol args
  • fix config not updated
  • fix indentation
  • Update pf_interface.cpp Communicates the new config to R2300 after dynamic reconfiguration
  • Update pfsdp_protocol.hpp Communicates the new config to R2300 during dynamic reconfig
  • fixed launch files
  • handle optional args
  • format check in CI
  • Merge pull request #46 from wsaihopfsg/config_watchdog Update pfsdp_protocol.hpp
  • Merge branch 'master' into config_watchdog
  • Merge pull request #40 from PepperlFuchs/format_lint fixes for formatting and linting errors
  • Merge branch 'master' into config_watchdog
  • Update pfsdp_protocol.hpp
  • fix catkin_lint
  • fix roslint
  • applied clang formatting
  • Merge pull request #39 from PepperlFuchs/pcl_intensities add intensities to PCL fields
  • Merge branch 'pcl_intensities' of https://github.com/PepperlFuchs/ROS_driver into pcl_intensities
  • add intensities to PCL fields
  • fix no return statement warning
  • fix missing jsoncpp include
  • Merge pull request #31 from PepperlFuchs/fix-dyn-params fix ip_mode and layer_on
  • fix ip_mode and layer_on
  • Merge pull request #26 from MilanoTechnicalGroupInc/r2000_fix R2000 fix
  • Fix parsing TCP streams/packets UDP transport puts one PSDF packet per UDP packet; TCP jams all PSDF packets into a single stream which is often delivered in chunks that don't match the size of the actual TCP packets. Here, we make two changes to account for this:
    1. Restructure the parser to parse an arbitrary number of packets iteratively from its buffer (avoid multiple recursion, though it's probably fine).
    2. Restructure the writer to persist any unused bytes from the previous parse and prepend them to the next packet that comes in over the network.
  • Validate buffer size based on packet header Original implementation compared the computed data size (based on sizes in the packet header) to the buffer size less the nominal size of the known packet header structure. However, some (I guess older?) R2000s use a smaller packet header (60 bytes vs 76). Trying to parse packets from these devices results in almost universal failure, the original condition ends up being "does the packet have at least 16 extra bytes at the end" to which the answer is usually "no" (except if the packet is part of a TCP stream and has the beginning of the next PFSDP packet immediately after it in the buffer). This code is still not ideal, as the first few data bytes are also parsed into the header in that case, so we'll end up with some header fields that might be invalid (with no indication to the user). It also doesn't modify the outer check (in [include/pf_driver/pf/pf_parser.h]{.title-ref}) that verifies that there's at least as much data as the expected header size, so in rare cases (packets with only a few points) we may drop (or delay) those packets; however that should be fairly uncommon (packet sizes are based on scan parameters and AFAICT tend to avoid nearly empty packets).
  • Default to packet type C for R2000 Basically no reason to use type A; we know how to parse all three types, A and C use the same space, and C gives us additional information. Don't alter the default for R2300, (which I believe means it uses type C1?) This also requires us to add the necessary arguments to [request_handle_{tcp,udp}]{.title-ref} in the PFSDP protocol header.
  • Refactor HTTP get calls in request_handle_{tcp,udp} - Refactor HTTP get call to allow passing std::map in addition to initializer list (initializer lists are great for quick use, but make constructing complicated queries difficult, since they are immutable) -> Expect this to come in handy if additional arguments to the handle request are added later (e.g. start angle, max number of points per scan, etc)
    • Properly construct query based on which arguments have been specified
  • Parse R2000 packet type B properly Useful code was commented out for some reason. Changing it slightly to match the other packet types and for more efficiency.
  • Publish echo amplitudes as intensities in ROS LaserScan messages Except for R2000 packet type A, which doesn't include intensity
  • Merge pull request #29 from PepperlFuchs/fix-dyn-params Fixed setting scan output config
  • Merge branch 'master' into fix-dyn-params
  • Merge pull request #27 from MilanoTechnicalGroupInc/param_fix Minor fixes for dynamic reconfigure on R2000
  • Only set up one dynamic reconfigure server per node Otherwise only the later of the two is active (I think?) and we end up unable to use dynamic reconfigure on R2000. Also move the server setup to a more sensible place, now that this is getting more complicated.
  • Fix a few R2000 config parameters several "value" fields weren't appropriately set (spaces, or longer names used instead), and one of the "Watchdog" enum values had a copy/paste error.
  • Fixed setting scan output config
  • Merge pull request #24 from MilanoTechnicalGroupInc/buildfix Fix clean build
  • Fix clean build Missing dependencies caused fresh builds to fail because the message headers weren't generated until too late
  • Merge pull request #21 from PepperlFuchs/cleanup Added dynamic reconf for R2000
  • Added dynamic reconf for R2000
  • Merge pull request #20 from PepperlFuchs/cleanup Cleanup
  • fix protocol interface build
  • fix dynamic reconf
  • handle product versions
  • Merge pull request #19 from PepperlFuchs/cleanup Cleanup & Fixed device handling
  • handle product versions
  • removed unused files & reshuffled files
  • Merge pull request #18 from PepperlFuchs/curl fix flicker
  • fix flicker
  • Merge pull request #15 from PepperlFuchs/curl fix pointcloud
  • fix pointcloud
  • Merge pull request #14 from PepperlFuchs/curl Refactor
  • laserscan to pointcloud
  • added dynamic reconf
  • publish R2300 header scan still not visible properly
  • R2000 with data parsing
  • revamped transport
  • replaced cpprestsdk with curlpp
  • scan publisher
  • Initializes R2300
  • complete pipeline for R2000 packet A
  • publishes scans with full message TODO: display is not correct
  • pipeline from TCP to publish header
  • removed files
  • simplified buf read
  • Refactored code. Handles connection well TODO: parse data
  • added lock-free queue
  • moved files
  • removed / moved files
  • Merge pull request #13 from PepperlFuchs/protocol_classes Protocol classes
  • message for param not found
  • added new dynamic params
  • Merge branch 'master' of https://github.com/PepperlFuchs/ROS_driver
  • separate classes for R2000 and R2300
  • install workspace
  • Merge pull request #5 from MilanoTechnicalGroupInc/master Update r2300_allscans launch file to pass args
  • Merge pull request #11 from PepperlFuchs/fix_compile Fix compile
  • Merge branch 'master' into fix_compile
  • Fixed gitk issues
  • clang formatting
  • Added ROS tests
  • Imrpoved error handling for PFSDP
  • Added gtests Currently only for HTTPInterface, need to extend it to other classes
  • Added error checking for HTTP GET
  • [WIP] added error handling for protocol
  • Applied clang formatting
  • [WIP] Small test to de-serialize packet header using ROS
  • Merge pull request #8 from PepperlFuchs/merge_scans merges all laser scans into pointcloud
  • Merge branch 'master' into merge_scans
  • merges all laser scans into pointcloud
  • Merge pull request #7 from PepperlFuchs/ros_serialization Ros serialization
  • clang formatting
  • Added ROS tests
  • Imrpoved error handling for PFSDP
  • Added gtests Currently only for HTTPInterface, need to extend it to other classes
  • Added error checking for HTTP GET
  • [WIP] added error handling for protocol
  • Applied clang formatting
  • [WIP] Small test to de-serialize packet header using ROS
  • Merge pull request #6 from PepperlFuchs/dyn_recfg Dynamic reconfigure
  • Merge branch 'master' into dyn_recfg
  • Update r2300_allscans launch file to pass args
  • Merge pull request #4 from PepperlFuchs/issue_ip Fixed hard-coded host address
  • Fixed hard-coded host address
  • Added dynamic reconfigure for scan_frequency parameter
  • Fixed calculations for angle_min and angle_max
  • Sets timestamp and angular_increment from ROS message Calculates time_increment from timestamp
  • Invalid echoes set to NAN
  • Merge pull request #10 from ipa320/rings Fixed angle_min and angle_max
  • Fixed angle_min and angle_max
  • Merge pull request #9 from ipa320/rings Added static_transform to visualize R2300 rings
  • Starts only 1 publisher in case of R2000
  • Added static transforms to viz all rings as per datasheet
  • Merge pull request #8 from ipa320/rings Rings
  • publishes rings with respective frame_id
  • Visualizes data cleanly without crash
  • Changed string to basic_string<u_char>
  • Merge pull request #7 from ipa320/rings Publishes rings on respective topics
  • Publishes rings on respective topics
  • Merge pull request #6 from ipa320/generic Generic code for R2000 and R2300
  • Generic code for R2000 and R2300
  • Applied clang-format
  • Added Apache 2.0 license
  • Basic working code for R2300
  • Contributors: Andres, Ben Kurtz, Benjamin Kurtz, Harsh Deshpande, Pepperl+Fuchs AG, Pepperl+Fuchs SE, wsaihopfsg

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

  • launch/r2000.launch
      • device [default: R2000]
      • launch_pf_description [default: true] — Whether to include the pf_description bringup with this launch file.
      • launch_rviz [default: true] — Whether to start RViz with this launch file.
  • launch/r2300_single_layer.launch
      • device [default: R2300]
  • launch/r2300.launch
      • device [default: R2300]
      • launch_pf_description [default: true] — Whether to include the pf_description bringup with this launch file.
      • launch_rviz [default: true] — Whether to start RViz with this launch file.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged pf_driver at Robotics Stack Exchange

pf_driver package from pf_lidar_ros_driver repo

pf_description pf_driver

Package Summary

Tags No category tags.
Version 1.2.1
License Apache2.0
Build type CATKIN
Use RECOMMENDED

Repository Summary

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

Package Description

The Pepperl+Fuchs LiDAR package

Additional Links

Maintainers

  • Harsh Deshpande

Authors

  • Harsh Deshpande
README
No README found. See repository README.
CHANGELOG

Changelog for package pf_driver

1.2.1 (2023-08-17) -----------* Merge pull request #108 from ValerioMa/terminate_cleanly Clean rosnode termination. * Merge pull request #106 from kalectro/main Fixes type of port parameter in cfg files * Merge pull request #104 from ValerioMa/main Move stamping closer to data reading. * Merge pull request #109 from PepperlFuchs/safe_feed_time safe feed time within the defined timeout * clang format applied * Clean termination of ros_main node. Closes: PepperlFuchs/pf_lidar_ros_driver#105 * Fixes type of port parameter in cfg files The port parameter was declared as an int_t in the cfg files but in the code it is expected to be a string. When the dynamic_reconfigure server is started, the data type on the parameter server was changed from string to int. This resulted in getParam of the release 1.2.0 to return False effectively killing any respawn functionality. * Move stamping close to data reading. Before this commit the scan message was stamped just before publishing the data. In the LaserScan message of ros the timestamp in the header is the acquisition time of the first ray in the scan. * safe feed time within the defined timeout * Update r2300.launch fixed typo * Merge pull request #101 from PepperlFuchs/r2300_single_layer R2300 single layer * Merge branch 'main' into r2300_single_layer * added config files for R2300 device family 7 (single layer) * default packet type is C (R2000) * added optional port parameter to yaml config files * Merge pull request #94 from MichaelGrupp/application_bitmap Allow to set hmi_application_bitmap with dynamic_reconfigure * Merge branch 'main' into application_bitmap * Merge pull request #93 from MichaelGrupp/launch-args Allow to disable RViz & pf_bringup in launch file. * Allow to disable RViz & pf_bringup in launch file. This allows better integration in headless systems and robots that already have a robot_state_publisher. * Allow to set hmi_application_bitmap * Merge pull request #99 from PepperlFuchs/fix_udp_port Fix udp port * utilize port specified in config for UDP connection * Merge pull request #87 from wawanbreton/code_refactoring Code refactoring * apply clang formatting * header only has function declaration * remove references to mutex after refactoring * Fixed missing include * Applied clang formatting * Code cleaning and minor optimizations * Added cpp files for each header when possible * Splitted existing cpp files to match headers * Splitted headers to have a single class by file * Moved sources to src folder * Contributors: Erwan MATHIEU, Harsh Deshpande, Kai Franke, Michael Grupp, Valerio Magnago

1.2.0 (2022-05-03)

  • fix focal point to world link of r2300 #72
  • fix xacro filename cases #70
  • viz scanner model in rviz
  • changed necessary for noetic #68
  • added urdf for r2000 and r2300 #66
  • fix deps for CI
  • add urdf bringup launch file
  • added urdf for r2300
  • fix high CPU usage #65 from PepperlFuchs/fix_while_loop
  • fix pointcloud flickering in rviz
  • reset cloud when params change in between publish cycle
  • reduce sleep time for writer thread as observed in #63
  • wait for the next message from the device with a timeout
  • fix layers accumulation and low frequency issue #56 from PepperlFuchs/fix_freq
  • Contributors: Harsh Deshpande

1.1.1 (2021-02-18)

  • Update package.xml
  • Contributors: Pepperl+Fuchs SE

1.1.0 (2021-02-09)

  • Update package.xml
  • Merge pull request #53 from PepperlFuchs/fix-typo fix typo
  • fix typo
  • Merge pull request #52 from PepperlFuchs/fix-exec-name fix exec name
  • changed default start_angle of R2300
  • fix start_angle
  • dummy
  • fix start_angle
  • check negative start_angle
  • fix scan output rviz
  • fix watchdog
  • fix set scanconfig
  • fix private namespace
  • fix exec name
  • Merge pull request #50 from wsaihopfsg/rviz_start_angle_max_num_points_scan Rviz start angle max num points scan
  • updated PFSDP for R2000
  • resolved merge conflicts
  • Update pfsdp_2300.hpp To correct the bug for incorrect display when start_angle and max_num_points_scan is specified
  • Update pfsdp_protocol.hpp To correct the bug in RViz display when start_angle & max_num_points_scan are specified
  • Update scan_publisher.cpp Consider start_angle & max_num_points_scan for RViz
  • Merge pull request #49 from wsaihopfsg/dyn_reconfig_start_angle_max_points_scan Dyn reconfig start angle max points scan
  • Merge pull request #51 from PepperlFuchs/protocol_args Protocol args
  • fix config not updated
  • fix indentation
  • Update pf_interface.cpp Communicates the new config to R2300 after dynamic reconfiguration
  • Update pfsdp_protocol.hpp Communicates the new config to R2300 during dynamic reconfig
  • fixed launch files
  • handle optional args
  • format check in CI
  • Merge pull request #46 from wsaihopfsg/config_watchdog Update pfsdp_protocol.hpp
  • Merge branch 'master' into config_watchdog
  • Merge pull request #40 from PepperlFuchs/format_lint fixes for formatting and linting errors
  • Merge branch 'master' into config_watchdog
  • Update pfsdp_protocol.hpp
  • fix catkin_lint
  • fix roslint
  • applied clang formatting
  • Merge pull request #39 from PepperlFuchs/pcl_intensities add intensities to PCL fields
  • Merge branch 'pcl_intensities' of https://github.com/PepperlFuchs/ROS_driver into pcl_intensities
  • add intensities to PCL fields
  • fix no return statement warning
  • fix missing jsoncpp include
  • Merge pull request #31 from PepperlFuchs/fix-dyn-params fix ip_mode and layer_on
  • fix ip_mode and layer_on
  • Merge pull request #26 from MilanoTechnicalGroupInc/r2000_fix R2000 fix
  • Fix parsing TCP streams/packets UDP transport puts one PSDF packet per UDP packet; TCP jams all PSDF packets into a single stream which is often delivered in chunks that don't match the size of the actual TCP packets. Here, we make two changes to account for this:
    1. Restructure the parser to parse an arbitrary number of packets iteratively from its buffer (avoid multiple recursion, though it's probably fine).
    2. Restructure the writer to persist any unused bytes from the previous parse and prepend them to the next packet that comes in over the network.
  • Validate buffer size based on packet header Original implementation compared the computed data size (based on sizes in the packet header) to the buffer size less the nominal size of the known packet header structure. However, some (I guess older?) R2000s use a smaller packet header (60 bytes vs 76). Trying to parse packets from these devices results in almost universal failure, the original condition ends up being "does the packet have at least 16 extra bytes at the end" to which the answer is usually "no" (except if the packet is part of a TCP stream and has the beginning of the next PFSDP packet immediately after it in the buffer). This code is still not ideal, as the first few data bytes are also parsed into the header in that case, so we'll end up with some header fields that might be invalid (with no indication to the user). It also doesn't modify the outer check (in [include/pf_driver/pf/pf_parser.h]{.title-ref}) that verifies that there's at least as much data as the expected header size, so in rare cases (packets with only a few points) we may drop (or delay) those packets; however that should be fairly uncommon (packet sizes are based on scan parameters and AFAICT tend to avoid nearly empty packets).
  • Default to packet type C for R2000 Basically no reason to use type A; we know how to parse all three types, A and C use the same space, and C gives us additional information. Don't alter the default for R2300, (which I believe means it uses type C1?) This also requires us to add the necessary arguments to [request_handle_{tcp,udp}]{.title-ref} in the PFSDP protocol header.
  • Refactor HTTP get calls in request_handle_{tcp,udp} - Refactor HTTP get call to allow passing std::map in addition to initializer list (initializer lists are great for quick use, but make constructing complicated queries difficult, since they are immutable) -> Expect this to come in handy if additional arguments to the handle request are added later (e.g. start angle, max number of points per scan, etc)
    • Properly construct query based on which arguments have been specified
  • Parse R2000 packet type B properly Useful code was commented out for some reason. Changing it slightly to match the other packet types and for more efficiency.
  • Publish echo amplitudes as intensities in ROS LaserScan messages Except for R2000 packet type A, which doesn't include intensity
  • Merge pull request #29 from PepperlFuchs/fix-dyn-params Fixed setting scan output config
  • Merge branch 'master' into fix-dyn-params
  • Merge pull request #27 from MilanoTechnicalGroupInc/param_fix Minor fixes for dynamic reconfigure on R2000
  • Only set up one dynamic reconfigure server per node Otherwise only the later of the two is active (I think?) and we end up unable to use dynamic reconfigure on R2000. Also move the server setup to a more sensible place, now that this is getting more complicated.
  • Fix a few R2000 config parameters several "value" fields weren't appropriately set (spaces, or longer names used instead), and one of the "Watchdog" enum values had a copy/paste error.
  • Fixed setting scan output config
  • Merge pull request #24 from MilanoTechnicalGroupInc/buildfix Fix clean build
  • Fix clean build Missing dependencies caused fresh builds to fail because the message headers weren't generated until too late
  • Merge pull request #21 from PepperlFuchs/cleanup Added dynamic reconf for R2000
  • Added dynamic reconf for R2000
  • Merge pull request #20 from PepperlFuchs/cleanup Cleanup
  • fix protocol interface build
  • fix dynamic reconf
  • handle product versions
  • Merge pull request #19 from PepperlFuchs/cleanup Cleanup & Fixed device handling
  • handle product versions
  • removed unused files & reshuffled files
  • Merge pull request #18 from PepperlFuchs/curl fix flicker
  • fix flicker
  • Merge pull request #15 from PepperlFuchs/curl fix pointcloud
  • fix pointcloud
  • Merge pull request #14 from PepperlFuchs/curl Refactor
  • laserscan to pointcloud
  • added dynamic reconf
  • publish R2300 header scan still not visible properly
  • R2000 with data parsing
  • revamped transport
  • replaced cpprestsdk with curlpp
  • scan publisher
  • Initializes R2300
  • complete pipeline for R2000 packet A
  • publishes scans with full message TODO: display is not correct
  • pipeline from TCP to publish header
  • removed files
  • simplified buf read
  • Refactored code. Handles connection well TODO: parse data
  • added lock-free queue
  • moved files
  • removed / moved files
  • Merge pull request #13 from PepperlFuchs/protocol_classes Protocol classes
  • message for param not found
  • added new dynamic params
  • Merge branch 'master' of https://github.com/PepperlFuchs/ROS_driver
  • separate classes for R2000 and R2300
  • install workspace
  • Merge pull request #5 from MilanoTechnicalGroupInc/master Update r2300_allscans launch file to pass args
  • Merge pull request #11 from PepperlFuchs/fix_compile Fix compile
  • Merge branch 'master' into fix_compile
  • Fixed gitk issues
  • clang formatting
  • Added ROS tests
  • Imrpoved error handling for PFSDP
  • Added gtests Currently only for HTTPInterface, need to extend it to other classes
  • Added error checking for HTTP GET
  • [WIP] added error handling for protocol
  • Applied clang formatting
  • [WIP] Small test to de-serialize packet header using ROS
  • Merge pull request #8 from PepperlFuchs/merge_scans merges all laser scans into pointcloud
  • Merge branch 'master' into merge_scans
  • merges all laser scans into pointcloud
  • Merge pull request #7 from PepperlFuchs/ros_serialization Ros serialization
  • clang formatting
  • Added ROS tests
  • Imrpoved error handling for PFSDP
  • Added gtests Currently only for HTTPInterface, need to extend it to other classes
  • Added error checking for HTTP GET
  • [WIP] added error handling for protocol
  • Applied clang formatting
  • [WIP] Small test to de-serialize packet header using ROS
  • Merge pull request #6 from PepperlFuchs/dyn_recfg Dynamic reconfigure
  • Merge branch 'master' into dyn_recfg
  • Update r2300_allscans launch file to pass args
  • Merge pull request #4 from PepperlFuchs/issue_ip Fixed hard-coded host address
  • Fixed hard-coded host address
  • Added dynamic reconfigure for scan_frequency parameter
  • Fixed calculations for angle_min and angle_max
  • Sets timestamp and angular_increment from ROS message Calculates time_increment from timestamp
  • Invalid echoes set to NAN
  • Merge pull request #10 from ipa320/rings Fixed angle_min and angle_max
  • Fixed angle_min and angle_max
  • Merge pull request #9 from ipa320/rings Added static_transform to visualize R2300 rings
  • Starts only 1 publisher in case of R2000
  • Added static transforms to viz all rings as per datasheet
  • Merge pull request #8 from ipa320/rings Rings
  • publishes rings with respective frame_id
  • Visualizes data cleanly without crash
  • Changed string to basic_string<u_char>
  • Merge pull request #7 from ipa320/rings Publishes rings on respective topics
  • Publishes rings on respective topics
  • Merge pull request #6 from ipa320/generic Generic code for R2000 and R2300
  • Generic code for R2000 and R2300
  • Applied clang-format
  • Added Apache 2.0 license
  • Basic working code for R2300
  • Contributors: Andres, Ben Kurtz, Benjamin Kurtz, Harsh Deshpande, Pepperl+Fuchs AG, Pepperl+Fuchs SE, wsaihopfsg

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

  • launch/r2000.launch
      • device [default: R2000]
      • launch_pf_description [default: true] — Whether to include the pf_description bringup with this launch file.
      • launch_rviz [default: true] — Whether to start RViz with this launch file.
  • launch/r2300_single_layer.launch
      • device [default: R2300]
  • launch/r2300.launch
      • device [default: R2300]
      • launch_pf_description [default: true] — Whether to include the pf_description bringup with this launch file.
      • launch_rviz [default: true] — Whether to start RViz with this launch file.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged pf_driver at Robotics Stack Exchange