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

Revision history [back]

click to hide/show revision 1
initial version

I used a TOF-camera of this Type in the past for a similiar task. In this task I calculated the surface-angle of the ground in front of a mobile robot, so I also had to calculate a specific normalvector.

You can grab the data via usb 3.0 (or 2.0 if you want to) and publish them in to the ROS network. The camera serves around 40k points per snapshot and can grab the frames with up to 50 fps.

One of my favorite features is the robustness against outside light (e.g. sunlight), which makes it well suited for outdoor use. I'm not sure if the operating distance from 0.1 to 4 m is enough for your task.

Regarding to the laser scanner: In my opinion a laser scanner is difficult to handle for your task. I understand, that you want to get the normalvector with respect to a special point. So, you need points around this selected point. With laser scanners, that are affordable, you can get 1 to 4 line scans with one measurement. But, I guess you need to get more points. So, maybe you need to stitch the frames. This is extra work and sometimes not that easy.

I hope, I could help you a bit finding a good sensor.

I used a TOF-camera of this Type in the past for a similiar task. In this task I calculated the surface-angle of the ground in front of a mobile robot, so I also had to calculate a specific normalvector.

You can grab the data via usb 3.0 (or 2.0 if you want to) and publish them in to the ROS network. The camera serves around 40k points per snapshot and can grab the frames with up to 50 fps.

One of my favorite features is the robustness against outside light (e.g. sunlight), which makes it well suited for outdoor use. I'm not sure if the operating distance from 0.1 to 4 m is enough for your task.

Regarding to the laser scanner: In my opinion a laser scanner is difficult to handle for your task. I understand, that you want to get the normalvector with respect to a special point. So, you need points around this selected point. With laser scanners, that are affordable, you can get 1 to 4 line scans with one measurement. But, I guess you need to get more points. So, maybe you need to stitch the frames. This is extra work and sometimes not that easy.

I hope, I could help you a bit finding a good sensor.

Edit to first question:

Yes, sure. Considering a coordinate frame with the x-axis point in normal moving direction and z-axis upwards, I was able to determine the angle around the x-axis with a mean precision about 0.5°. This was pretty reliable with a standarddeviation around 0.05° (Yes, data was nearly perfectly normal distributed and I took ca. 1000 frames for each set).

The rotation around the y-axis is a bit worse. There I got a precision around 0.5°, with a standard deviation of 0.07°.

The reference system with which I could find the "exact" angles was an IMU of xsense. However, I think you can do better if you do not need "real-time" performance, as in my case.

This was a very short summary of my project work. But, if you need further information, do not hesitate to ask.