Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ouster lidar 64 support #46

Open
islamtalha01 opened this issue Oct 13, 2021 · 9 comments
Open

Ouster lidar 64 support #46

islamtalha01 opened this issue Oct 13, 2021 · 9 comments

Comments

@islamtalha01
Copy link

Hi,
Can you tell me that which line of code I needed to use this package for the ouster os1 64? I need to use this package with a rosbag recorded with point cloud and image topic. I need to use it for the automatic calibration package.i want to get dense point cloud in my rosbag so is the first setup is that to setup my sensor again and launch driver using floam launch file and then record again or I can just use rosbag file for this purpose?

@masterhui
Copy link

Hi, I have a similar request: I would like to use FLAOM with a Ouster OS0-64 dataset. I can see there are some hard coded angles here:

else if (N_SCANS == 64)
{
if (angle >= -8.83)
scanID = int((2 - angle) * 3.0 + 0.5);
else
scanID = N_SCANS / 2 + int((-8.83 - angle) * 2.0 + 0.5);
if (angle > 2 || angle < -24.33 || scanID > 63 || scanID < 0)
{
continue;
}
}

which seem to match Kitti dataset Velodyne HDL-64E sensor (datasheet) But I am unsure which values I have to change. The Ouster OS0-64 also has 64 scan lines, but a vertical field of view of -45° .. +45°. Your help is appreciated.

@wh200720041
Copy link
Owner

wh200720041 commented Oct 16, 2021

hi @masterhui and @islamtalha01

from ouster website, note that there are several configuration as shown below

Screenshot 2021-10-16 17:54:23

By default, it should be uniform beam spacing. We use uniform beam for example.
else if (N_SCANS == 64)
{
scanID = round((angle + 22.5) * 45.0 / 63.0);
if (scanID > (N_SCANS - 1) || scanID < 0)
continue;

}

However, for those who use OS0 and OS2,
The harware configuration is different, OS2 is 22.5 and OS0 is 90, please change accordingly based on the code above.

Hence, for OS0, it is
else if (N_SCANS == 64)
{
scanID = round((angle + 45) * 90.0 / 63.0);
if (scanID > (N_SCANS - 1) || scanID < 0)
continue;
}

You can leave you question here for different sensor support.

@masterhui
Copy link

Hello @wh200720041
thank you for your tips. I have followed your advice and replaced the above lines in laserProcessingClass.cpp for use with my Ouster OS0-64, which is configured for uniform 90° vertical field of view. However, after re-compiling the results look much worse than when using the original Velodyne code.

Map with original code:
Screenshot from 2021-10-18 12-52-55

Map with Ouster OS0-64 code:
Screenshot from 2021-10-18 12-41-02

Any ideas why this might be the case?
Regards

@islamtalha01
Copy link
Author

islamtalha01 commented Jan 20, 2022 via email

@masterhui
Copy link

Hi, here is a quick update. I managed to get this to work perfectly with data from my Ouster OS0-64. In case someone else is looking for a solution, please see patch below.
Settings-for-Ouster-OS0-64-90.patch.txt

@islamtalha01
Copy link
Author

islamtalha01 commented Jan 21, 2022 via email

@masterhui
Copy link

Not sure if I understand your question. One of the features of F-LOAM is that it doesn't require an IMU, am I wrong?

@gglaspell
Copy link

I have a gradient OS1-64, what configuration should I use?

@masterhui
Copy link

Hi @gglaspell
Check out the patch I posted above for the OS0-64. You will have to modify the values as the OS1 has different vertical opening angles.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants