This is the documentation of a driver for the Pepperl+Fuchs SmartRunner Explorer. This driver The driver has a ROS-Node interface to the Robot Operating System (http://www.ros.org).
The following Pepperl+Fuchs sensors are supported by this ROS driver.
The SmartRunner Explorer generates high-precision 3-D point cloud images in addition to 2-D images. It is optionally available with stereo vision technology or time-of-flight (ToF) technology. As a raw data sensor, the vision sensor is suitable for a wide variety of applications.
Official Website: https://www.pepperl-fuchs.com/global/en/smartrunner_3-d.htm
Datasheet (en): https://files.pepperl-fuchs.com/webcat/navi/productInfo/doct/tdoct7242a_eng.pdf
The SmartRunner Explorer is based on the innovative SmartRunner technology and outputs both height profiles and area images. SmartRunner technology combines the light-sectioning method for acquiring height profiles with the acquisition of area images via the integrated area illumination. In the light section method, a laser line is projected onto an object. This is captured at a specific angle by a camera. A height profile is then created using the triangulation principle. This laser technology enables reliable height profile recording on different surfaces.
Official Website: https://www.pepperl-fuchs.com/global/en/classid_9864.htm
Datasheet (en): https://files.pepperl-fuchs.com/webcat/navi/productInfo/pds/284586-100009_eng.pdf
The ROS package smartrunner_driver
consists of the driver library and a node named smartrunner_node
.
- Ubuntu 20.04 / ROS Noetic
- Ubuntu 18.04 / ROS Melodic
The following standard ROS messages are supported. The messages contain the measured data.
scan
(sensor_msgs/PointCloud
)scan
(sensor_msgs/PointCloud2
)
frame_id
- The frame-ID in the header of the publishedsensor_msgs/PointCloud
messagesscanner_ip
- IP address or hostname of the sensormessage_type
- The type of the PointCloud-Message (PointCloud or PointCloud2)
- Create a ROS workspace (http://wiki.ros.org/catkin/Tutorials/create_a_workspace) (e.g. in
<home>/catkin_ws
) - Clone the repository in the src folder of your ROS workspace.
git clone https://github.com/PepperlFuchs/pf_smartrunner_ros_driver.git
- Download the library from the Pepperl+Fuchs site. (https://www.pepperl-fuchs.com/global/en/classid_9866.htm?view=productdetails&prodid=117291#software)
- Unzip the downloaded file and copy the folder "VsxSdk" in to the folder:
<home>/catkin_ws/src/pf_smartrunner_ros_driver/smartrunner_driver/lib/
Change directory to<home>/catkin_ws/src/pf_smartrunner_ros_driver/smartrunner_driver/lib/VsxSdk/C/lib/linux-x64/
and callln -s PF.VsxProtocolDriver.WrapperNE.so libPF.VsxProtocolDriver.WrapperNE.so
. - Install .NET SDK. (https://learn.microsoft.com/en-us/dotnet/core/install/linux-ubuntu-2004)
- Change to the workspace directory.
<home>/catkin_ws/
- Run the command.
source devel/setup.bash
- Start the compilation.
catkin_make install
- Set the IP-Address of the sensor, the message type and the sensor parameter in:
<home>/catkin_ws/src/pf_smartrunner_ros_driver/smartrunner_driver/launch/smartrunner.launch
- Run the command:
roslaunch pepperl_fuchs_smartrunner smartrunner.launch
- This starts
RViz
(http://wiki.ros.org/rviz) and the driver. - The measure points coming from the sensor are shown in the
RViz
window.