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
Running ct_icp using another dataset #21
Comments
Hi, Thanks for your question ! So to answer your first question, In While in If you are on master, I will not make any change (because most of the code will soon be deprecated), so you should aim to convert to the same PLY file format (with only PLY_FLOAT32), you can use By convention the timestamps for each frame are in seconds (Be careful during downcasting to float from double not to loose precision if the timestamps are in nanoseconds for e.g.) If you are on Best regards |
Thanks for replying Could you tell me how I use your PLYFile parser / reader and convert them to the right format(*.ply: x, y, z and timestamp) for running ct_icp like KITTI ? I have a `bag` file including `sensor_msgs/PointCloud2` |
You can find an example for the code to parse the PLY file in the |
Thanks you so much! Interestingly, I have 300 data (frame_0000.ply to frame_0300.ply) from Ouster LiDAR. I thought ct_icp cannot work but it worked well! How do...? I think ct_icp use the begin and end timestamp of the data. |
That's great ! If you can don't hesitate to share screenshots to show us the results ! So if all frames are equal to zero, essentially the interpolated frame during optimization is always the same, |
Now it's not clear on me but I'll try to understand the structure. I know CT_ICP estimates the beginning and end pose at one lidar scan. |
The code below extracts the rotation / translation from One Transformation Matrix (a 4x4 matrix with rotation and translation in the first 3 lines). To save the trajectory in CT-ICP (in the Kitti format) we take the middle pose of the scan (by interpolating at 0.5 between begin and end pose) and computing its transformation matrix
|
Oh! I get it ! |
Hi, I have recenlty built and run ct_icp successfully!
But I have difficulty running another dataset.
I wonder how ct_icp exactly knows about timestamp between frames.
While studying your paper and code, I found something new.
Like this default_config.yaml (permalink highlighted), I found that ct_icp code uses KITTI dataset in the form of
frame_####.ply
format.But It cannot work on my own data(*.ply)
When I visualize it on CloudCompare,
here the **red** one is **frame_0001.ply**, the **black** one is **frame_0005.ply**.
We can think the ego vehicle moves forward.
Here, I found something new.
In CloudCompare I got to know the ply file of KITTI has
x, y, z and timestamp
fields.On the other hand, I have my own data like
I think the difference is whether it has a field of
timestamp(PLY_FLOAT32)
Here is my real question!
Could you explain the ply format and how ct_icp uses that format briefly if you can.
Plus, I want to convert my
.bag
/.pcd
file to.ply
which has onlyx, y, z and timestamp
file format.I couldn't find any solution about that.
Best regards.
The text was updated successfully, but these errors were encountered: