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

Pointcloud to Laserscan only working in a 180 degree cone angle min-max 0 to 2pi

asked 2022-02-02 12:57:08 -0600

Roshan gravatar image

Hello, I'm using a Turtlebot 3 Waffle Pi and I wanted to transform the laserscan data from base_scan to base_link. To do this I first transformed the laserscan data to pointcloud data with the pointcloud_to_laserscan package, and then applied the transform between base_scan and base_link, and finally using the pointcloud_to_laserscanpackage again to transform back to laserscan data (https://github.com/ros-perception/poi...).

When I do this it seems that I only get a 180 degree cone from the readings. The original Lidar parameters look like this:

header: 
  seq: 4629
  stamp: 
    secs: 926
    nsecs: 104000000
  frame_id: "tb3_1/base_scan"
angle_min: 0.0
angle_max: 6.28318977355957
angle_increment: 0.017501922324299812
time_increment: 0.0
scan_time: 0.0
range_min: 0.11999999731779099
range_max: 3.5

The launch parameters for the node:

  <node pkg="pointcloud_to_laserscan" type="pointcloud_to_laserscan_node" name="pointcloud_to_laserscan">
    <remap from="cloud_in" to="tb3_1/transformed_point_cloud"/>
    <remap from="scan" to="tb3_1/scan_transformed"/>

    <param name="transform_tolerance" value="0.01" />
    <param name="min_height" value="0.0" />
    <param name="angle_increment" value="0.017501922324299812" />
        <param name="max_height" value="1.0" />
        <param name="angle_min" value="0" />
        <param name="angle_max" value="6.28318977355957" />
        <param name="scan_time" value="0.0"/>
        <param name="range_min" value="0.11999999731779099" />
        <param name="range_max" value="3.5" />
        <param name="use_inf" value="true" />
        <param name="concurency_level" value="1" />
  </node>

This should give a 360 degree radius, with the angle min being 0 and angle max being 2pi, but when the object that is supposed to be detected is right infront of the turtlebot, only the 0 to pi angles detect anything (0 is right infront of the turtlebot, pi is directly behind).

image description

image description

In the images the red dots are the original laserscan, the white are the laserscan after being transformed. The first image shows that when the robot is directly behind the object, only half the points show up. The second image shows that no detection happens with the transformed scan on one side of the robot.

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted
1

answered 2022-02-02 16:56:33 -0600

miura gravatar image

If you try -pi to pi instead of 0 to 2pi, it may work.

edit flag offensive delete link more

Question Tools

1 follower

Stats

Asked: 2022-02-02 12:57:08 -0600

Seen: 354 times

Last updated: Feb 02 '22