ROS Answers: Open Source Q&A Forum - RSS feedhttps://answers.ros.org/questions/Open source question and answer forum written in Python and DjangoenROS Answers is licensed under Creative Commons Attribution 3.0Tue, 07 Jun 2011 21:12:30 -0500Vector field histogram.https://answers.ros.org/question/10169/vector-field-histogram/Any of you have used vector field histogram?I am trying to combine the Kinect and the vector field histogram but not sure how to do it. Any help would be appreciated.Sun, 05 Jun 2011 14:43:20 -0500https://answers.ros.org/question/10169/vector-field-histogram/Answer by Lorenzo Riano for <p>Any of you have used vector field histogram?I am trying to combine the Kinect and the vector field histogram but not sure how to do it. Any help would be appreciated.</p>
https://answers.ros.org/question/10169/vector-field-histogram/?answer=14909#post-id-14909VFH has been designed to work with planar sensors, like a laser or a sonar. If you really want to use it with a Kinect, you need to project all the points on a plane which is parallel to the robot base (more or less where a laser would be) and then treat this points as laser readings. This could be as easy as removing the z component of the points if the robot does not tilt (most indoor robots don't). If you really want to mimic the laser input to the vfh you can calculate for each point:
range = sqrt(x^2 + y^2)
angle = atan2(y,x)
and that is the closest you can get to a laser. Beware that you might need to filter the Kinect pointcloud as it can be very noisy. Tue, 07 Jun 2011 01:11:07 -0500https://answers.ros.org/question/10169/vector-field-histogram/?answer=14909#post-id-14909Comment by lakshmen for <p>VFH has been designed to work with planar sensors, like a laser or a sonar. If you really want to use it with a Kinect, you need to project all the points on a plane which is parallel to the robot base (more or less where a laser would be) and then treat this points as laser readings. This could be as easy as removing the z component of the points if the robot does not tilt (most indoor robots don't). If you really want to mimic the laser input to the vfh you can calculate for each point:</p>
<p>range = sqrt(x^2 + y^2)</p>
<p>angle = atan2(y,x)</p>
<p>and that is the closest you can get to a laser. Beware that you might need to filter the Kinect pointcloud as it can be very noisy. </p>
https://answers.ros.org/question/10169/vector-field-histogram/?comment=25215#post-id-25215thanks....will try it...Tue, 07 Jun 2011 21:12:30 -0500https://answers.ros.org/question/10169/vector-field-histogram/?comment=25215#post-id-25215