Undefined function or variable 'validateBoundaryFcn'.

10 views (last 30 days)
Ayush Sharma
Ayush Sharma on 28 Jun 2017
Answered: Anand on 11 Oct 2018
Hi all, I have been working with the toolbox "ADAS", and is currently trying the documentation of the same. The task involves working with determination of lanes and obstacles on roads.
While implementing the same, i am getting the following error:
Trial>> file1
Undefined function or variable 'validateBoundaryFcn'.
Error in vision.internal.ransac.msac (line 73)
isValidModel = funcs.checkFunc(modelParams, varargin{:});
Error in fitPolynomialRANSAC (line 102)
vision.internal.ransac.msac(xyPoints, ransacParams, ransacFuncs);
Error in findParabolicLaneBoundaries (line 135)
[~, inlierIdx] = fitPolynomialRANSAC(xyBoundaryPoints, N, maxDistance,...
Error in file1 (line 65)
[boundaries, boundaryPoints] = findParabolicLaneBoundaries(xyBoundaryPoints,boundaryWidth,'MaxNumBoundaries', maxLanes,
'validateBoundaryFcn', @validateBoundaryFcn);
This error is occurring when i am using the following function/command:
[boundaries, boundaryPoints] = findParabolicLaneBoundaries(xyBoundaryPoints,boundaryWidth,'MaxNumBoundaries', maxLanes, 'validateBoundaryFcn', @validateBoundaryFcn);
I have tried the suggestions from the Mathwork on how to fix this issue and have re-set the path as per the mentioned instructions.
Kindly help me in this regards. Thanks

Accepted Answer

Walter Roberson
Walter Roberson on 28 Jun 2017
The code for validateBoundaryFcn appears to be posted at https://www.mathworks.com/help/driving/examples/visual-perception-using-monocular-camera.html and the source should be in MonoCameraExample which is provided with the Automated Driving System Toolbox (which I had never heard of before)

Sign in to comment.

More Answers (1)

Anand on 11 Oct 2018
The 'ValidateBoundaryFcn' parameter needs to be a function handle that returns a logical true or false allowing you to choose when to accept or reject a lane boundary. It looks like you are not defining this function handle. If you know under what circumstances to reject a boundary, define this function:
function isValid = myValidateBoundaryFcn(params)
% define a custom boundary validation function
% my custom code
Then invoke the findParabolicLaneBoundaries function:
[boundaries, boundaryPoints] = findParabolicLaneBoundaries(xyBoundaryPoints, boundaryWidth, ...
'MaxNumBoundaries', maxLanes, 'validateBoundaryFcn', @myValidateBoundaryFcn);
If you do not have this information, simply don't include the last parameter-value pair.
[boundaries, boundaryPoints] = findParabolicLaneBoundaries(xyBoundaryPoints, boundaryWidth, ...
'MaxNumBoundaries', maxLanes);


Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by