Comments (4)
@66lukas66 I think the issue is that the cartesian
method(s) which project the lidarscan to 3D expect the input 2D image to be in staggered state so you can not pass a destaggered image to and then expect the right results.
So what you should do is first perform the cartesian then take the generated points
and pass it to the destagger function. However, the destagger method expects ouster::img_t
which is a 2D array with the same dimensions as the lidarscan {WxH}. Meanwhile, points
is an array of the size {WxH, 3} so we beed to reshape it back to the WxH using the Eigen::Map
function as follows:
auto points_x_reshaped = Eigen::Map<const ouster::img_t<float>>(points.col(0).data(), H, W);
then you can apply the destaggering method to the reshaped points as follows:
auto points_x_destaggered = ouster::destagger<float>(points_x_reshaped, info.format.pixel_shift_by_row);
You would need to do the same for y and z (use col(1) and col(2) respectively). The before passing back to the copy_scan_to_cloud
you need to re-assemble the 3 arrays back into a PointsF
object (in a nutshell).
from ouster-ros.
And what is the reason that only the range must be destaggerd and not also the reflectivity?
All the 2D images are being destaggered in os_image_nodelet.cpp
, the destaggering is applied to 4 images at the same time within this code block:
ouster-ros/src/os_image_nodelet.cpp
Lines 139 to 154 in 927f216
Hope my answers help
from ouster-ros.
Both of your ideas work, not perfectly, according to my implimentation. They don't always sort all items in the correct order. I have now written a function for detagging the cloud, which also transcribes the point cloud at the same time, which is based on the destagger function.
I'll make a pull request for it shortly.
from ouster-ros.
Ok, I will take a look at your PR.
from ouster-ros.
Related Issues (20)
- Recommended launch for recording and using lidar live. HOT 3
- Calibration problem,Ask for help
- Failed to load nodelet '/ouster/os_node` HOT 3
- Simulation time in replay mode HOT 3
- How to Project Ouster_signal image into Ouster_Point_cloud. HOT 6
- Show low frequency when recording rosbag or echoing /ouster/points topic & Artifact of ROS driver HOT 3
- Node parameters not parsed correctly when using python composite launch [Foxy]
- Trouble with launching the nodes through driver.launch and sensor.launch HOT 5
- Failed to load nodelet '/ouster/os_driver` of type `ouster_ros/OusterDriver` to manager `os_nodelet_mgr' HOT 1
- 't' (timestamp for point) field is all zero
- Reconnection to sensor
- Replaying a converted pcap file does not send messages to the expected topic HOT 1
- [ROS2] Launching nodes when the lidar is not yet powered HOT 1
- Failed to run /ouster/os_driver HOT 1
- How to read data(point cloud) from ouster rosbag file(.db3)? HOT 1
- /scan topic inverted from expected rotational direction
- Having trouble launching the sensor's driver in docker and getting messages HOT 11
- camera_info for images
- Bond Broken playing bag files Orin Nano Ubuntu 20.04 HOT 2
- Ros2 humble node not found error HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ouster-ros.