ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question
0

Static transform issues with PointCloud under WSL2 and ROS Noetic

asked 2022-10-31 04:51:50 -0500

thibs-sigma gravatar image

updated 2022-11-22 09:27:46 -0500

[SOLUTION ON NEXT ANSWER]

Hi all,

I've successfully set up ROS Noetic on WSL2 (under Windows 10), but I'm currently struggling with PointCloud display on RViz. I'm currently working with the TI IWR6843ISK radar, and set up the ROS example package. Even if tf is configured properly (it works well on a native Ubuntu under ROS Melodic), I can't get it working on WSL2. I have an error in the transform for PointCloud: "Failed to transform for frame /ti_mmwave_pcl_0 to frame ti_mmwave_pcl", even if the transform exists and is published.

I'm using usbip for bridging the serial device from Windows to WSL. Could it be the issue?

RViz under WSL2:

Rviz issue WSL2

TF monitor :

image description

Rviz under native Ubuntu and ROS Melodic (the PointCloud is displayed correctly): Rviz native Ubuntu

My launch file:

<launch>

  <!-- Input arguments -->
  <arg name="device" value="6843" doc="TI mmWave sensor device type [1443, 1642, 6843]"/>
  <arg name="config" value="3d" doc="TI mmWave sensor device configuration [3d_best_range_res (not supported by 1642 EVM), 2d_best_range_res]"/>
  <arg name="max_allowed_elevation_angle_deg" default="90" doc="Maximum allowed elevation angle in degrees for detected object data [0 > value >= 90]}"/>
  <arg name="max_allowed_azimuth_angle_deg" default="90" doc="Maximum allowed azimuth angle in degrees for detected object data [0 > value >= 90]}"/>
  <arg name="send_config" default="true" />

  <!-- mmWave_Manager node -->
  <node pkg="ti_mmwave_rospkg" type="ti_mmwave_rospkg" name="ti_mmwave" ns="radar_0" output="screen">
    <param name="command_port" value="/dev/ttyUSB0"  />
    <param name="command_rate" value="115200"   />
    <param name="data_port" value="/dev/ttyUSB1"  />
    <param name="data_rate" value="921600"   />
    <param name="max_allowed_elevation_angle_deg" value="$(arg max_allowed_elevation_angle_deg)"   />
    <param name="max_allowed_azimuth_angle_deg" value="$(arg max_allowed_azimuth_angle_deg)"   />
    <param name="frame_id" value="/ti_mmwave_0"/>
    <param name="mmWaveCLI_name" value="/mmWaveCLI" />
    <remap from="/ti_mmwave/radar_scan_pcl" to="/ti_mmwave/radar_scan_pcl_0"/>
  </node>

  <!-- mmWaveQuickConfig node (terminates after configuring mmWave sensor) -->
  <group if="$(arg send_config)">
    <node pkg="ti_mmwave_rospkg" type="mmWaveQuickConfig" name="ti_mmwave_config" ns="radar_0" args="$(find ti_mmwave_rospkg)/cfg/6843ISK_3d.cfg" output="screen" >
      <param name="mmWaveCLI_name" value="/mmWaveCLI" />
    </node>
  </group>

  <node pkg="tf2_ros" type="static_transform_publisher" name="radar_baselink_0" args="0 0 0 0 0 0 ti_mmwave_pcl ti_mmwave_0" />

  <node pkg="rviz" type="rviz" name="rviz" args="-d $(find ti_mmwave_rospkg)/launch/rviz/ti_mmwave_multi.rviz"/>
</launch>

If someone has any clue about this issue, that would be awesome.

edit retag flag offensive close merge delete

Comments

In the future, please do not post screenshots of text. Instead, copy/paste the text into your description.

Mike Scheutzow gravatar image Mike Scheutzow  ( 2022-11-24 09:25:37 -0500 )edit

1 Answer

Sort by ยป oldest newest most voted
0

answered 2022-11-22 09:25:26 -0500

thibs-sigma gravatar image

Finally, I found the issue (and it was much more simple than expected...). ROS Noetic is very sensible to the "/" before a frame_id. So it worked on ROS Kinetic and Melodic, but not on Noetic. And there is no relation with WSL, and the issue was the same on a native Ubuntu.

Removing the "/" on frame_idparameter on my launch file solved the issue!

Hope this could help someone in the future.

edit flag offensive delete link more

Question Tools

2 followers

Stats

Asked: 2022-10-31 04:51:50 -0500

Seen: 145 times

Last updated: Nov 22 '22