Troubleshooting
Common issues and solutions.
Connection Issues
Cannot Connect to Robot
Symptoms:
connect()returns false“Connection failed” error
Solutions:
Check Network
# Ping test to robot IP ping 192.168.1.xxx
Verify Robot ID
Check Robot ID in raisin_master console or raisin_gui
Ensure exact match
Check Multicast
Robot and client must be on same subnet
Verify router/switch is not blocking multicast
Check Firewall
# Check firewall status on Ubuntu sudo ufw status # Disable if necessary sudo ufw disable
Service Timeout
Symptoms:
setWaypoints()etc. return “service timeout”Service calls fail
Solutions:
Check Autonomy Plugin
Verify Autonomy plugin is loaded in raisin_master
Fast-LIO plugin must also be loaded (for map operations)
Check Connection Status
if (!client.isConnected()) { std::cerr << "Not connected!" << std::endl; }
Increase Timeout (if needed)
Service responses may be delayed in high-latency network environments.
Map Loading Issues
“service timeout” Instead of “Map saved.”
Cause:
Fast-LIO plugin is not loaded
Solutions:
Verify Fast-LIO plugin is loaded in raisin_master
Check that LiDAR is working properly
Verify
/cloud_registeredtopic is being published on robot
Cannot Find PCD File
Cause:
File path is incorrect
Solutions:
Use Absolute Path (Recommended)
// Use absolute path instead of relative client.setMap("/home/user/maps/office.pcd", ...);
Verify File Exists
ls -la /path/to/map.pcd
Waypoint Issues
Robot Does Not Move
Symptoms:
Waypoint setting succeeds but robot doesn’t move
No path generated
Solutions:
Check frame Name (Most Common Cause)
// frame from setMap's map_name must match Waypoint frame! client.setMap("...", 0, 0, 0, 0, "my_map"); Waypoint("my_map", 5.0, 0.0); // ✓ Match // Wrong example client.setMap("...", 0, 0, 0, 0, "my_map"); Waypoint("map", 5.0, 0.0); // ✗ Mismatch!
Check Localization Status
Verify map was loaded properly
Verify robot position is correctly set within the map
Check Autonomy Mode
Verify
setAutonomousControl()was called
Check Mission Status
auto status = client.getMissionStatus(); std::cout << "Waypoints: " << status.waypoints.size() << std::endl;
Coordinates Don’t Match
Symptoms:
Robot moves to unexpected location
Waypoint coordinates don’t match the map
Solutions:
Verify Initial Position
Check that initial position set in
setMap()matches actual robot positionInitial yaw (direction) must also be accurate
Check Coordinate System
Waypoint coordinates are map-based (relative to map origin)
Uses meters
Subscription Issues
Callback Not Being Called
Symptoms:
subscribeOdometry()etc. callbacks don’t execute
Solutions:
Check Connection Status
Verify properly connected to robot
Maintain Main Loop
// Keep main loop running to prevent program exit while (running) { std::this_thread::sleep_for(std::chrono::milliseconds(100)); }
Verify Topic Publishing
Use raisin_cli to check if topic is being published
Build Issues
Cannot Find Library
Symptoms:
Link error: “cannot find -lraisin_network”
Solutions:
Verify Path
# Check if RAISIN_SDK_PATH is correct message(STATUS "SDK Path: ${RAISIN_SDK_PATH}")
Verify Library Exists
ls -la /path/to/raisin_sdk_install/lib/
Library Load Failure at Runtime
Symptoms:
“error while loading shared libraries”
Solutions:
# Set LD_LIBRARY_PATH
export LD_LIBRARY_PATH=/path/to/raisin_sdk_install/lib:$LD_LIBRARY_PATH
# Or use ldconfig
sudo ldconfig /path/to/raisin_sdk_install/lib
Getting Help
If issues persist:
Record full error message content
Prepare code snippet being used
Check network configuration information
Check raisin_master console logs