This ROS package provides a minimal read_depth node for Gocator 2330D laser profiler sensor, migrated from here.
example.mp4
- Real-time depth profile data acquisition from Gocator 2330D sensor
- Publishes point cloud data as ROS PointCloud2 messages
- Includes pre-built SDK libraries and headers
- Robot-agnostic URDF model for easy integration
- Ubuntu 20.04 LTS
- ROS Noetic
- PCL (Point Cloud Library)
- Ethernet connection to Gocator sensor
This package already includes the necessary SDK and .so library files. If you want to use the included libraries, skip to section 1.3.
If you need to use a newer SDK version:
- Download the latest SDK
- Example: "GoPxL SDK - Version 1.2.30.56" (Asia Pacific)
- Extract the archive and refer to the documentation in
Go_SDK/docfolder (GoSdk.html, kApi.html) - Build the SDK following the instructions in GoSdk.html:
cd GO_SDK/Gocator make -f GoSdk-Linux_X64.mk- Built libraries will be generated in
GO_SDK/lib/linux_x64d
- Built libraries will be generated in
- Copy GoSdk headers from
GO_SDK/GoSdk/GoSdktoinclude/GoSdk/ - Copy kApi headers from
GO_SDK/Platform/kApi/kApitoinclude/kApi/ - Copy library files (
libGoSdk.so,libkApi.so) togocator_ros/lib/
- Check firewall status:
sudo ufw status
- If subnet 192.168.1.0/24 is not allowed, enable it:
sudo ufw allow from 192.168.1.0/24
- Verify the configuration:
sudo ufw status # Should show: Anywhere ALLOW 192.168.1.0/24
- Connect the Gocator sensor directly to your PC using an Ethernet cable
- If network configuration doesn't match and connection fails, use the provided script:
chmod +x set_ip.sh
bash ./set_ip.sh- Open a web browser (Chrome recommended) and navigate to
192.168.1.10
- Check current network interfaces:
ifconfig # Example output: # enx00e04c680015: ...
- Set your PC's IP to the same subnet as the sensor (e.g., 192.168.1.100/24):
sudo ip addr add 192.168.1.100/24 dev enx00e04c680015
- Test connectivity:
ping 192.168.1.10
cd ~/YOUR_PATH/catkin_ws
catkin_make
source devel/setup.bash
roslaunch gocator_ros read_depth.launchrostopic echo /gocator_profile_pcd- To change sensor IP or topic name, modify the parameters in
src/read_depth.cpp - Access the sensor's web interface at
192.168.1.10for advanced configuration
This package has been tested on Ubuntu 20.04/ROS Noetic. Please note the following coordinate system adjustments in read_depth.cpp:
double z_new = z - 130; // Gocator 2330D sets zero point 130mm below the sensor
cloud->points.emplace_back(-x / 1000.0, 0.0, z_new / 1000.0); // x axis is inverted to align with standard coordinate frame/gocator_profile_pcd(sensor_msgs/PointCloud2): Point cloud data from the laser profiler
- Ensure the sensor is properly connected via Ethernet
- Check firewall settings allow communication on the 192.168.1.0/24 subnet
- Verify network interface configuration using the provided
set_ip.shscript - All the settings/congifurations from Chrome(192.168.1.10) web interface will affect this packages.