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

[NAV350] NAVPoseData yaw incorrect #239

Closed p0rys closed 9 months ago

p0rys commented 9 months ago

Hello folks,

I am in the process of writing a ROS2 node that combines the localisation data from 2 NAV350s. I have already successfully started two instances of the driver and get scan and reflector data displayed correctly in RViz (including transformation via my robot URDF).

For the combiner node I now wanted to use the "/sick_nav350/nav_pose" topic to query additional things like "pose_valid" or "infostate". I noticed that "pose_yaw" is apparently not sent in the ROS coordinate system but in the scanner coordinate system (0° backwards instead of forwards). Can anyone confirm this behaviour? If so, is this the intended behaviour? All other data (LaserScan etc) use the "correct" ROS coordinate system, which ensures that you can use either the scan data (0° forwards) or the pose data (0° backwards) with your URDF.

Thanks in advance!

rostest commented 9 months ago

Thanks for your feedback. Topic "/sick_nav350/nav_pose" publishes the original data from the NAV-350 without transforms (just converted to a ros message). This is intended. ROS Pointcloud- and Laserscan- messages are transformed to ROS coordinates.

p0rys commented 9 months ago

Thanks for the answer! Then I will rotate the data in the downstream node.

One suggestions: I would rephrase the comment here to "pose in ros units" instead of " pose in ros coordinates". This would avoid confusion in the future.

rostest commented 9 months ago

@p0rys Thanks for the hint! We will correct the comment.