#113 vfh Seg Faults if laser fov > 300

closed
Brian Gerkey
player (137)
5
2007-07-27
2005-03-23
Anonymous
No

It seems that if the field of view of the sicklaser is
set to greater than 300 degrees in the .world file, an
attempt to use vfh crashes Stage with a Segmentation
Fault. Not sure if this is a Stage specific thing or
player as well.

Discussion

  • Brian Gerkey
    Brian Gerkey
    2005-03-24

    Logged In: YES
    user_id=211013

    I can verify that this is a bug still present in CVS.
    There's some dodgy indexing in VFH::GetLaser() that
    implicitly assumes a 180-degree FOV. Anything greater than
    180 results in invalid writes off the end (well, the
    beginning) of the VFH::laser_ranges array. I'll look into
    fixing it at some point...

     
  • Toby Collett
    Toby Collett
    2006-05-01

    Logged In: YES
    user_id=974361

    Ive added some conversion code to interpolate laser data on
    arrival for the VFH driver. The concept of a 180 degree scan
    with 0.5 degree resolution is hard coded into the VFH
    algorithm in many horrible ways. This fix should prevent the
    memory faults, but effectively compresses the scans into a
    180 degree FOV so may not give the optimum performance.

    A proper fix will probably require a complete rework of the
    VFH driver.

     
  • Toby Collett
    Toby Collett
    2007-07-27

    • status: open --> closed