SICKAG / sick_scan_xd

Based on the sick_scan drivers for ROS1, sick_scan_xd merges sick_scan, sick_scan2 and sick_scan_base repositories. The driver supports both Linux (native, ROS1, ROS2) and Windows (native and ROS2).
Apache License 2.0
95 stars 85 forks source link

Question about NAV350 #215

Closed SeongJun-Hwang closed 11 months ago

SeongJun-Hwang commented 11 months ago

Regarding safety, we are configuring a program to verify that the NAV350 is operating normally in navigation mode and to stop all functions if abnormal. If the NAV350 is abnormal (disconnected, contaminated, etc.), please tell me how to issue a message in ROS

rostest commented 11 months ago

You can use ros services to continously monitor the lidar state and pose, e.g.

# Query lidar state (ROS 1):
rosservice call /sick_nav_350/ColaMsg "{request: 'sRN SCdevicestate'}"
# Wait for the next calculated position and query NAV-350 pose (ROS 2):
rosservice call /sick_nav_350/ColaMsg "{request: 'sMN SetAccessMode 3 F4724744'}"
rosservice call /sick_nav_350/ColaMsg "{request: 'sMN mNPOSGetData 1 2'}"

# Query lidar state (ROS 2):
ros2 service call /ColaMsg sick_scan/srv/ColaMsgSrv "{request: 'sRN SCdevicestate'}"
# Wait for the next calculated position and query NAV-350 pose (ROS 2):
ros2 service call /ColaMsg sick_scan/srv/ColaMsgSrv "{request: 'sMN SetAccessMode 3 F4724744'}"
ros2 service call /ColaMsg sick_scan/srv/ColaMsgSrv "{request: 'sMN mNPOSGetData 1 2'}"

If the ros service call does not return or does not return the expected response (i.e. no error and position available), you can diagnose an unnormal operation. You can additionally monitor the pointcloud messages on topic "cloud" (if you do not receive pointcloud messages after initialization, the lidar or sick_scan_xd do not work properly).

See https://cdn.sick.com/media/docs/9/59/859/telegram_listing_telegrams_for_configuring_and_operating_the_nav350_laser_positioning_sensor_en_im0053859.pdf for details about NAV-350 SOPAS commands.

SeongJun-Hwang commented 11 months ago

thank you ^^